.pb { --ro-navy: #14213d; --ro-silver: #e5e5e5; --ro-coral: #f54040;
  --color-bad: #f54040; --cds-chart-grid: color-mix(in srgb, #14213d 8%, transparent); }
@media (prefers-color-scheme: dark) { .pb { --cds-chart-grid: color-mix(in srgb, #e5e5e5 10%, transparent); } }
.pb-brand { background: var(--ro-navy); border-radius: var(--cds-radius); padding: var(--cds-pad-lg) var(--cds-pad-lg); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-gap-md); border-bottom: 3px solid var(--ro-coral); }
.pb-brand img { height: 34px; width: auto; max-width: 60vw; display: block; }
.pb-brand .pb-tagline { color: var(--ro-silver); font-size: var(--cds-font-size-caption); letter-spacing: .04em; }
.pb-head h1 { color: var(--color-fg); }
.pb-kpi { border-top: 3px solid var(--ro-navy); }
@media (prefers-color-scheme: dark) { .pb-kpi { border-top-color: var(--ro-silver); } }
.pb-card h2, .pb-sub { color: var(--ro-navy); }
@media (prefers-color-scheme: dark) { .pb-card h2, .pb-sub { color: var(--ro-silver); } }
.pb-seg button[aria-pressed="true"] { background: var(--ro-navy) !important; color: var(--ro-silver) !important; }
.pb-lh, .pb-tbl th { background: var(--ro-navy) !important; color: var(--ro-silver) !important; }
.pb-row.sel { box-shadow: inset 3px 0 0 var(--ro-coral); }
.pb-font-sans{}
.pb { font-family: var(--font-anthropic-sans); color: var(--color-fg); display: flex; flex-direction: column; gap: var(--cds-gap-lg); }
.pb-head h1 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); margin: 0; }
.pb-take { color: var(--color-fg-muted); font-size: var(--cds-font-size-body); margin: var(--cds-gap-xs) 0 0; }
.pb-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: var(--cds-gap-md); }
/* The homepage embed is slightly narrower than the standalone board. At this
   width its six compact summary tiles still read comfortably in one row. */
@media (min-width: 860px) {
  .embedded .pb-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 860px) and (max-width: 939px) {
  .embedded .pb-kpi { padding: 12px; }
}
.pb-kpi, .pb-card { background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); }
.pb-kpi .lbl { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.pb-kpi .num { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); font-variant-numeric: tabular-nums; margin-top: var(--cds-gap-xs); min-height: 1.2em; }
.pb-kpi .sub { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); margin-top: var(--cds-gap-xs); }
.pb-card { position: relative; min-width: 0; }
.pb-card h2 { font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); margin: 0; }
.pb-note { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); margin: var(--cds-gap-xs) 0 var(--cds-gap-md); }
.pb-tools { display: flex; flex-wrap: wrap; gap: var(--cds-gap-sm); align-items: center; margin-bottom: var(--cds-gap-md); }
.pb-seg { display: inline-flex; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); overflow: hidden; }
.pb-seg button, .pb-btn { font: inherit; font-size: var(--cds-font-size-caption); padding: var(--cds-pad-xs) var(--cds-pad-sm); background: transparent; color: var(--color-fg); border: 0; cursor: pointer; }
.pb-seg button + button { border-left: 1px solid var(--color-border-line); }
.pb-seg button[aria-pressed="true"] { background: var(--color-fg); color: var(--color-bg); }
.pb-btn { border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); }
.pb-tools select { font: inherit; font-size: var(--cds-font-size-caption); padding: var(--cds-pad-xs) var(--cds-pad-sm); background: var(--color-bg); color: var(--color-fg); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); max-width: 100%; }
.pb-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); margin-bottom: var(--cds-gap-md); }
.pb-legend span { display: inline-flex; align-items: center; gap: 4px; }
.pb-legend i { width: 12px; height: 10px; border-radius: 2px; display: inline-block; border: 1px solid rgba(0,0,0,.15); }
.pb-board { display: flex; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); overflow: hidden; min-height: 320px; }
.pb-left { flex: none; width: 290px; border-right: 1px solid var(--color-border-line); background: var(--color-panel); }
.pb-right { flex: 1; overflow-x: auto; min-width: 0; }
.pb-lh { height: 38px; display: grid; grid-template-columns: 1fr 64px 58px; align-items: end; padding: 0 8px 6px; font-size: 11px; color: var(--color-fg-muted); border-bottom: 1px solid var(--color-border-line); box-sizing: border-box; }
.pb-row { display: grid; grid-template-columns: 1fr 64px 58px; align-items: center; padding: 0 8px; border-bottom: 1px solid var(--color-border-line); box-sizing: border-box; cursor: pointer; font-size: var(--cds-font-size-caption); }
.pb-row:hover, .pb-row.sel { background: color-mix(in srgb, var(--color-fg) 7%, transparent); }
.pb-row .nm { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 1.3; padding: 4px 0; min-width: 0; }
.pb-row .nm > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-row .nm b { display: block; }
.pb-row .nm b { font-weight: 500; }
.pb-row .cd { display: block; color: var(--color-fg-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; }
.pb-row .cw { display: block; color: var(--color-fg-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; }
.pb-row .d { font-variant-numeric: tabular-nums; text-align: right; }
.pb-quiet { display: inline-block; min-width: 2.2em; text-align: center; border-radius: 999px; padding: 1px 6px; font-size: 11px; font-variant-numeric: tabular-nums; }
.pb-quiet.ok { background: color-mix(in srgb, var(--color-ok) 18%, transparent); color: var(--color-ok); }
.pb-quiet.warn { background: color-mix(in srgb, var(--color-warn) 18%, transparent); color: var(--color-warn); }
.pb-quiet.bad { background: color-mix(in srgb, var(--color-bad) 18%, transparent); color: var(--color-bad); }
.pb-grp { padding: 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--color-fg-muted); display: flex; align-items: center; border-bottom: 1px solid var(--color-border-line); box-sizing: border-box; background: color-mix(in srgb, var(--color-fg) 4%, transparent); }
.pb-tip { position: absolute; 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); max-width: 260px; z-index: 5; }
.pb-tip .t { color: var(--cds-text-secondary); }
.pb-detail-head { display: flex; justify-content: space-between; gap: var(--cds-gap-md); align-items: start; flex-wrap: wrap; }
.pb-detail-head h2 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); }
.pb-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: var(--cds-gap-sm); margin: var(--cds-gap-md) 0; }
.pb-fact { border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-sm); }
.pb-fact .lbl { font-size: 11px; color: var(--color-fg-muted); }
.pb-fact .v { font-variant-numeric: tabular-nums; margin-top: 2px; font-size: var(--cds-font-size-body); min-height: 1.2em; }
.pb-sub { font-size: var(--cds-font-size-body); font-weight: var(--cds-font-weight-medium); margin: var(--cds-gap-lg) 0 var(--cds-gap-sm); }
.pb-mini { overflow-x: auto; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); min-height: 60px; }
.pb-tbl-wrap { max-height: 520px; overflow: auto; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); }
.pb-tbl { width: 100%; border-collapse: collapse; font-size: var(--cds-font-size-caption); }
.pb-tbl th { position: sticky; top: 0; background: var(--color-panel); text-align: left; font-weight: 500; color: var(--color-fg-muted); padding: 6px 8px; border-bottom: 1px solid var(--color-border-line); white-space: nowrap; }
.pb-tbl td { padding: 6px 8px; border-bottom: 1px solid var(--color-border-line); vertical-align: top; font-variant-numeric: tabular-nums; }
.pb-tbl td.when { white-space: nowrap; }
.pb-txt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; cursor: pointer; }
.pb-txt.open { -webkit-line-clamp: unset; display: block; }
.pb-tag { display: inline-block; border-radius: 3px; padding: 0 5px; margin: 0 3px 3px 0; color: #111827; font-size: 11px; white-space: nowrap; }
.pb-hint { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); margin-top: var(--cds-gap-md); }
.pb-rv code, .pb-hint code { background: color-mix(in srgb, var(--color-fg) 8%, transparent); padding: 1px 4px; border-radius: 3px; }
.pb-fail { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); min-height: 120px; width: 100%; }
.pb-fail::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: var(--color-bad); }
.pb-sl tbody tr { cursor: pointer; }
.pb-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: var(--cds-gap-lg); }
.pb-click tbody tr { cursor: pointer; }
.pb-click tbody tr:hover { background: color-mix(in srgb, var(--color-fg) 6%, transparent); }
.pb-sl tbody tr:hover { background: color-mix(in srgb, var(--color-fg) 6%, transparent); }
.pb-st-b { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11px; white-space: nowrap; }
.pb-st-b.Behind { background: color-mix(in srgb, var(--color-bad) 18%, transparent); color: var(--color-bad); }
.pb-st-b.Due { background: color-mix(in srgb, var(--color-warn) 18%, transparent); color: var(--color-warn); }
.pb-st-b.On { background: color-mix(in srgb, var(--color-ok) 18%, transparent); color: var(--color-ok); }
.pb-st-b.No { background: color-mix(in srgb, var(--color-fg) 8%, transparent); color: var(--color-fg-muted); }
.pb-bl { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 14rem; }
.pb-over { color: var(--color-bad); font-weight: 500; }
.pb-fl tbody tr[data-note] { cursor: pointer; }
.pb-fl tbody tr[data-note]:hover { background: color-mix(in srgb, var(--color-fg) 6%, transparent); }
.pb-lv { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11px; white-space: nowrap; }
.pb-lv.billing { background: color-mix(in srgb, var(--color-bad) 18%, transparent); color: var(--color-bad); }
.pb-lv.warning { background: color-mix(in srgb, var(--color-warn) 18%, transparent); color: var(--color-warn); }
.pb-lv.info { background: color-mix(in srgb, var(--color-fg) 8%, transparent); color: var(--color-fg-muted); }
.pb-lv.next { background: color-mix(in srgb, var(--color-ok) 18%, transparent); color: var(--color-ok); }
.pb-fc { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); font-weight: 400; margin-left: 6px; }
.pb-nt tr.flash td { background: color-mix(in srgb, var(--color-warn) 22%, transparent); transition: background 1.5s; }
.pb-sl tbody tr:hover { background: color-mix(in srgb, var(--color-fg) 6%, transparent); }
.pb-st-b { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11px; white-space: nowrap; }
.pb-st-b.Behind { background: color-mix(in srgb, var(--color-bad) 18%, transparent); color: var(--color-bad); }
.pb-st-b.Due { background: color-mix(in srgb, var(--color-warn) 18%, transparent); color: var(--color-warn); }
.pb-st-b.On { background: color-mix(in srgb, var(--color-ok) 18%, transparent); color: var(--color-ok); }
.pb-st-b.No { background: color-mix(in srgb, var(--color-fg) 8%, transparent); color: var(--color-fg-muted); }
.pb-bl { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 14rem; }
.pb-over { color: var(--color-bad); font-weight: 500; }
@media (max-width: 760px) { .pb-wide { display: none; } }
.pb-today { align-items: start; }
.pb-today > .pb-card { height: 100%; box-sizing: border-box; }
.pb-chips { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs); margin-bottom: var(--cds-gap-md); min-height: 1.6em; }
.pb-chip { display: inline-flex; align-items: baseline; gap: 6px; border: 1px solid var(--color-border-line); border-radius: 999px; padding: 2px 10px; font-size: var(--cds-font-size-caption); }
.pb-chip b { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-body); font-variant-numeric: tabular-nums; }
.pb-chip.bio { border-color: var(--color-bad); color: var(--color-bad); }
.pb-prep { display: block; margin-top: 3px; font-size: 11px; color: var(--color-bad); }
.pb-tabs { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--color-border-line); margin: calc(-1 * var(--cds-pad-sm)) 0 var(--cds-gap-md); }
.pb-tabs button { font: inherit; font-size: var(--cds-font-size-body); background: transparent; color: var(--color-fg-muted); border: 0; border-bottom: 2px solid transparent; padding: var(--cds-pad-sm) var(--cds-pad-md); cursor: pointer; margin-bottom: -1px; }
.pb-tabs button[aria-selected="true"] { color: var(--color-fg); border-bottom-color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.pb-tc { display: inline-block; min-width: 1.4em; margin-left: 4px; padding: 0 6px; border-radius: 999px; font-size: 11px; background: color-mix(in srgb, var(--color-fg) 8%, transparent); font-variant-numeric: tabular-nums; }
.pb-tc.hot { background: color-mix(in srgb, var(--color-bad) 18%, transparent); color: var(--color-bad); }
.pb-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pb-callout { border: 1px solid var(--color-border-line); border-left: 3px solid var(--color-fg); border-radius: var(--cds-radius); padding: var(--cds-pad-sm) var(--cds-pad-md); font-size: var(--cds-font-size-caption); margin: 0 0 var(--cds-gap-md); background: color-mix(in srgb, var(--color-fg) 3%, transparent); }
.pb-row:hover .nm b, .pb-click tbody tr:hover td:first-child > div:first-child, .pb-sl tbody tr:hover td:first-child > div:first-child { text-decoration: underline; }
.pb-row:hover .nm b::after { content: "  Details ›"; font-weight: 400; font-size: 11px; color: var(--color-fg-muted); text-decoration: none; display: inline-block; margin-left: 4px; }
[data-dash-source-state=refreshing] { opacity: .5; transition: opacity var(--cds-dur-slow); }
[data-dash-source-state=empty] { color: transparent; }
@media (max-width: 640px) { .pb-left { width: 180px; } .pb-lh, .pb-row { grid-template-columns: 1fr 46px; } .pb-lh .c3, .pb-row .c3 { display: none; } }
.pb-money-head { display: flex; justify-content: space-between; align-items: start; gap: var(--cds-gap-md); flex-wrap: wrap; margin-bottom: var(--cds-gap-md); }
.pb-lock-pill { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(251, 191, 36, .35); color: #fbbf24; background: rgba(251, 191, 36, .08); white-space: nowrap; }
.pb-mtiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--cds-gap-sm); }
.pb-mt { font: inherit; text-align: left; color: var(--color-fg); display: flex; flex-direction: column; gap: 4px; padding: var(--cds-pad-md); border-radius: 12px; border: 1px solid rgba(148, 163, 184, .12); background: rgba(255, 255, 255, .025); cursor: pointer; transition: border-color .15s, background .15s; }
.pb-mt:hover, .pb-mt[aria-pressed="true"] { border-color: color-mix(in srgb, var(--accent) 55%, transparent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.pb-mt.static { cursor: default; }
.pb-mt.static:hover { border-color: rgba(148, 163, 184, .12); background: rgba(255, 255, 255, .025); }
.pb-mt .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #9fb0cc; }
.pb-mt .num { font-family: var(--font-anthropic-serif); font-size: 2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pb-mt .num small { font-family: var(--font-anthropic-sans); font-size: 12px; color: #8f9bb3; }
.pb-mt .num.hot, .pb-mt .hot b { color: var(--accent); }
.pb-mt .sub { font-size: 11.5px; color: #8f9bb3; }
.pb-tiers, .pb-stages { display: flex; gap: 12px; flex-wrap: wrap; align-items: baseline; font-size: 11px; color: #8f9bb3; }
.pb-tiers b, .pb-stages b { display: block; font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.5rem; color: var(--color-fg); font-variant-numeric: tabular-nums; }
.pb-mt.locked { cursor: not-allowed; opacity: .75; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .02) 0 8px, rgba(255, 255, 255, .035) 8px 16px); }
.pb-mt.locked:hover { border-color: rgba(148, 163, 184, .12); background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .02) 0 8px, rgba(255, 255, 255, .035) 8px 16px); }
.pb-mt.locked .num { font-size: 1.4rem; opacity: .8; }
.pb-mlist { margin-top: var(--cds-gap-md); }
.pb-owner-pill { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(52, 211, 153, .35); color: #34d399; background: rgba(52, 211, 153, .08); white-space: nowrap; }
.pb-cashstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--cds-gap-sm); margin-bottom: var(--cds-gap-sm); }
.pb-cs { font: inherit; text-align: left; color: var(--color-fg); display: flex; flex-direction: column; gap: 4px; padding: var(--cds-pad-md); border-radius: 12px; border: 1px solid rgba(148, 163, 184, .14); background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 55%, transparent), rgba(255, 255, 255, .02)); }
button.pb-cs { cursor: pointer; }
button.pb-cs:hover, button.pb-cs[aria-pressed="true"] { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.pb-cs .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #9fb0cc; }
.pb-cs .num { font-family: var(--font-anthropic-serif); font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.1; font-variant-numeric: tabular-nums; }
.pb-cs .sub { font-size: 11.5px; color: #8f9bb3; }
.pb-cs.net .num { color: #34d399; }
.pb-mt .sub b, .pb-tiers i { font-style: normal; color: var(--color-fg); font-weight: 500; }
.pb-mt-tot { font-weight: 500; color: var(--color-fg); text-transform: none; letter-spacing: 0; margin-left: 6px; }
.pb-tiers b { font-size: 1.15rem !important; }
.pb-amt { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pb-head { display: grid; grid-template-columns: 1fr auto; gap: var(--cds-gap-md); align-items: start; }
.pb-head-main { min-width: 0; }
.pb-refresh { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; padding-top: 2px; }
.pb-refresh-btn { font: inherit; font-size: var(--cds-font-size-body); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--accent) 70%, transparent); background: var(--accent); color: #fff; cursor: pointer; box-shadow: 0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent); transition: transform .15s ease, box-shadow .15s ease, background .15s ease; white-space: nowrap; }
.pb-refresh-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 10px 26px color-mix(in srgb, var(--accent) 45%, transparent); }
.pb-refresh-btn:disabled { background: #2a3347; border-color: rgba(148, 163, 184, .25); color: #9aa6bd; box-shadow: none; cursor: progress; }
.pb-refresh-btn:disabled .pb-ri { animation: pbspin 1s linear infinite; }
@keyframes pbspin { to { transform: rotate(360deg); } }
.pb-refresh-time { font-size: 12px; color: #9fb0cc; text-align: right; max-width: 22rem; font-variant-numeric: tabular-nums; }
.pb-refresh-time.bad { color: var(--color-bad); font-weight: 500; }
.pb.pb-busy > *:not(.pb-head) { opacity: .55; transition: opacity .3s ease; pointer-events: none; }
.pb > * { transition: opacity .3s ease; }
@media (max-width: 640px) { .pb-head { grid-template-columns: 1fr; } .pb-refresh { align-items: flex-start; } .pb-refresh-time { text-align: left; } }
@media (prefers-reduced-motion: reduce) { .pb-refresh-btn:disabled .pb-ri { animation: none; } }
.pb-refresh-btns { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.pb-refresh-btn.full { background: transparent; color: #e8edf7; border-color: rgba(148, 163, 184, .35); box-shadow: none; }
.pb-refresh-btn.full:hover:not(:disabled) { border-color: var(--accent); box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.pb-refresh-btn:disabled:not(.running) .pb-ri { animation: none; }
.pb-refresh-full { font-size: 11px; color: #8f9bb3; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .pb-refresh-btns { justify-content: flex-start; } .pb-refresh-full { text-align: left; } }
.pb-refresh-btns { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.pb-refresh-btn.full { background: transparent; color: #e8edf7; border-color: rgba(148, 163, 184, .35); box-shadow: none; }
.pb-refresh-btn.full:hover:not(:disabled) { border-color: var(--accent); box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.pb-refresh-btn:disabled:not(.running) .pb-ri { animation: none; }
.pb-refresh-full { font-size: 11px; color: #8f9bb3; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .pb-refresh-btns { justify-content: flex-start; } .pb-refresh-full { text-align: left; } }
/* ===== Dark theme ===== */
.pb {
  --brand: #14213d; --accent: #f54040;
  color-scheme: dark;
  --color-bg: #0a0f1c; --color-panel: #0f1828; --color-fg: #e8edf7; --color-fg-muted: #8f9bb3;
  --color-border-line: rgba(148, 163, 184, .14);
  --color-ok: #34d399; --color-warn: #fbbf24; --color-bad: var(--accent);
  --cds-chart-grid: rgba(148, 163, 184, .07);
  --cds-surface-popover: #141d31; --cds-border: rgba(148, 163, 184, .22); --cds-text-secondary: #9aa6bd;
  --cds-shadow-popover: 0 14px 36px rgba(0, 0, 0, .55);
  background:
    radial-gradient(900px 420px at 0% -8%, color-mix(in srgb, var(--brand) 70%, transparent), transparent 70%),
    radial-gradient(700px 360px at 100% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%),
    linear-gradient(180deg, #0b1222 0%, #070b15 100%);
  color: var(--color-fg);
  padding: clamp(14px, 2.4vw, 28px);
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, .10);
}
.pb-card, .pb-kpi {
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012)), #0d1524;
  border: 1px solid rgba(148, 163, 184, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 14px 34px rgba(0, 0, 0, .35);
  border-radius: 14px;
}
.pb-kpi { position: relative; overflow: hidden; transition: transform .2s ease, border-color .2s ease; border-top: 1px solid rgba(148, 163, 184, .12) !important; }
.pb-kpi::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, var(--accent), transparent 85%); }
.pb-kpi:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.pb-kpi .lbl { text-transform: uppercase; letter-spacing: .07em; font-size: 11px; color: #9fb0cc; }
.pb-kpi .num { font-size: clamp(1.9rem, 3vw, 2.5rem); background: linear-gradient(180deg, #ffffff, #aeb9cf); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pb-head h1 { font-size: clamp(2rem, 3.8vw, 2.9rem); letter-spacing: -.015em; line-height: 1.1; background: linear-gradient(90deg, #ffffff 0%, #cdd5e3 55%, color-mix(in srgb, var(--accent) 65%, #ffffff) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pb-head h1 span { -webkit-text-fill-color: #b9c3d6; color: #b9c3d6 !important; border-color: rgba(148, 163, 184, .3) !important; }
.pb-take { color: #b3bfd4; font-size: 1rem; }
.pb-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8f9bb3; margin-bottom: 8px; }
.pb-live { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px; border-radius: 999px; background: rgba(52, 211, 153, .12); color: #34d399; letter-spacing: .08em; }
.pb-live i { width: 7px; height: 7px; border-radius: 50%; background: #34d399; animation: pbpulse 2s infinite; }
@keyframes pbpulse { 0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, .55); } 70% { box-shadow: 0 0 0 8px rgba(52, 211, 153, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); } }
.pb-card h2 { color: #f3f6fb !important; letter-spacing: -.005em; }
.pb-sub { color: #dbe3f0 !important; }
.pb-note { color: #8f9bb3; }
.pb-tbl-wrap { border-color: rgba(148, 163, 184, .12); background: rgba(4, 8, 16, .35); border-radius: 10px; }
.pb-tbl th { background: #0f1a2e !important; color: #9fb0cc !important; text-transform: uppercase; font-size: 10.5px; letter-spacing: .06em; }
.pb-tbl td { border-bottom-color: rgba(148, 163, 184, .08); }
.pb-tbl tbody tr:hover { background: rgba(255, 255, 255, .035); }
.pb-board { border-color: rgba(148, 163, 184, .14); background: rgba(4, 8, 16, .45); border-radius: 12px; }
.pb-left { background: rgba(255, 255, 255, .02); border-right-color: rgba(148, 163, 184, .12); }
.pb-lh { background: #0f1a2e !important; color: #9fb0cc !important; text-transform: uppercase; letter-spacing: .06em; }
.pb-grp { background: color-mix(in srgb, var(--brand) 45%, #0d1524) !important; color: #c9d4e8; }
.pb-row:hover { background: rgba(255, 255, 255, .04); }
.pb-row.sel { box-shadow: inset 3px 0 0 var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); }
.pb-seg { border-color: rgba(148, 163, 184, .2); background: rgba(255, 255, 255, .03); border-radius: 999px; }
.pb-seg button { color: #c3cddd; }
.pb-seg button[aria-pressed="true"] { background: var(--accent) !important; color: #fff !important; }
.pb-tools select, .pb-btn { background: #0f1828; color: var(--color-fg); border-color: rgba(148, 163, 184, .22); border-radius: 999px; }
.pb-btn:hover, .pb-tools select:hover { border-color: color-mix(in srgb, var(--accent) 60%, transparent); }
.pb-tabs { border-bottom-color: rgba(148, 163, 184, .14); }
.pb-tabs button { color: #8f9bb3; }
.pb-tabs button[aria-selected="true"] { color: #fff; border-bottom-color: var(--accent); }
.pb-fact { background: rgba(255, 255, 255, .025); border-color: rgba(148, 163, 184, .12); border-radius: 10px; }
.pb-fact .lbl { text-transform: uppercase; letter-spacing: .05em; color: #8f9bb3; }
.pb-callout { border-color: color-mix(in srgb, var(--accent) 28%, transparent); border-left-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, transparent); color: #dbe3f0; }
.pb-chip { background: rgba(255, 255, 255, .04); border-color: rgba(148, 163, 184, .18); }
.pb-mini { border-color: rgba(148, 163, 184, .14); background: rgba(4, 8, 16, .45); }
.pb code { background: rgba(255, 255, 255, .08) !important; color: #e8edf7; }
.pb-legend { color: #8f9bb3; }
@media (prefers-reduced-motion: reduce) { .pb-live i { animation: none; } .pb-kpi { transition: none; } }
.pb-brand { background: linear-gradient(90deg, #14213d 0%, #101b33 100%); border: 1px solid rgba(148, 163, 184, .12); border-bottom: 2px solid var(--accent); box-shadow: 0 14px 34px rgba(0, 0, 0, .35), 0 0 40px color-mix(in srgb, var(--accent) 10%, transparent); border-radius: 14px; }
/* Keep the original dashboard palette. Reserve space for native select arrows. */
.pb-tools select { min-width: 11.5rem; min-height: 40px; padding: 8px 36px 8px 12px; }
.pb-tools .pb-sort { min-width: 13rem; }
.pb-tools .pb-pick { min-width: 14rem; }
@media (max-width: 600px) {
  .pb-tools select { width: 100%; max-width: 100%; }
}
