:root {
  --bg: #f3f5f3;
  --panel: #fff;
  --ink: #202427;
  --muted: #6f797e;
  --line: #dde3e0;
  --soft: #edf4f6;
  --brand: #4f7888;
  --brand-dark: #365f6e;
  --entity: #b86b3e;
  --entity-dark: #965331;
  --entity-soft: #faf0e8;
  --good: #3f7b56;
  --bad: #b5524a;
  --kpi: #264f63;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select, input { border-radius: 3px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-150%); background: #fff; border: 1px solid var(--brand); padding: 7px 10px; }
.skip-link:focus { transform: none; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.98);
}
.topbar-inner {
  min-height: 70px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; min-width: 215px; }
.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50% 10% 50% 50%;
  color: #fff;
  background: linear-gradient(145deg,#d09a73 0%,#b86b3e 55%,#8f4e2e 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
  font-weight: 800;
}
.brand strong { font-size: 16px; letter-spacing: .04em; }
.nav { min-width: 0; display: flex; align-items: stretch; justify-content: flex-end; overflow-x: auto; }
.nav-link {
  position: relative;
  min-height: 70px;
  padding: 0 19px;
  display: inline-flex;
  align-items: center;
  color: #48545a;
  font-size: 14px;
  white-space: nowrap;
}
.nav-link:hover, .nav-link.is-active { color: var(--brand-dark); }
.nav-link.is-active::after { position: absolute; right: 16px; bottom: 0; left: 16px; height: 3px; background: var(--brand); content: ""; }

.page-shell { max-width: 1440px; margin: 0 auto; padding: 24px 28px 46px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 16px; }
.page-heading h1 { margin: 3px 0 0; font-size: 28px; line-height: 1.2; }
.eyebrow { color: var(--entity); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.page-asof { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.asof-block { display: flex; align-items: baseline; justify-content: flex-end; flex-wrap: wrap; gap: 5px 12px; max-width: 880px; color: var(--muted); font-size: 11px; text-align: right; }
.asof-block strong { color: var(--kpi); font-size: 27px; line-height: 1; }
.asof-block time { flex-basis: 100%; }
.loading-panel, .empty-panel, .chart-empty { border: 1px solid var(--line); background: #fff; padding: 28px; color: var(--muted); text-align: center; }
.page-boot { min-height: 210px; display: grid; align-content: center; justify-items: center; gap: 10px; border-radius: 8px; box-shadow: 0 8px 24px rgba(16,24,40,.04); }
.page-boot strong { color: var(--ink); font-size: 17px; }
.page-boot > span:not(.loading-track) { font-size: 12px; }
.loading-track { width: min(360px,80vw); height: 7px; overflow: hidden; border-radius: 999px; background: #e8edf1; }
.loading-track i { display: block; width: 8%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand),#4b91a0); transition: width .22s ease; }
.product-shell-filters { padding: 16px; border-bottom: 1px solid var(--line); color: var(--ink); }
.product-shell-filters .filter-panel .basic-filter-row .product-preview-grid { grid-template-columns: minmax(220px,1.3fr) minmax(170px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto; }
.product-preview-grid [data-preview-reset] { margin-top: 24px; }
@media(max-width:1100px){.product-shell-filters .filter-panel .basic-filter-row .product-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.product-shell-filters .filter-panel .basic-filter-row .product-preview-grid{grid-template-columns:1fr;}.product-preview-grid [data-preview-reset]{margin-top:0;}}
.product-shell-filter-grid { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(2,minmax(170px,1fr)); gap: 12px; margin-top: 12px; }
.product-shell-filter-grid label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; }
.product-shell-filter-grid input, .product-shell-filter-grid select { min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 4px; background: #f7f9fa; color: var(--muted); opacity: 1; }
.product-load-region { display: grid; align-content: center; justify-items: center; gap: 10px; padding: 28px 16px; text-align: center; color: var(--muted); }
.product-load-region strong { color: var(--ink); font-size: 15px; }
.product-load-region > span:not(.loading-track) { font-size: 12px; }
.product-load-chart { min-height: 300px; }
.product-load-table { min-height: 180px; }
.product-load-region.is-error { color: #9a302a; }
.product-load-region.is-error .loading-track { display: none; }
.is-load-error .panel-count { color: #9a302a; }
.product-load-region [data-product-load-retry] { margin-top: 4px; padding: 8px 16px; border: 1px solid currentColor; border-radius: 4px; background: #fff; color: inherit; cursor: pointer; }
@media(max-width:760px){.product-shell-filter-grid{grid-template-columns:1fr}.product-load-chart{min-height:240px}}

.panel, .detail-section {
  min-width: 0;
  margin: 0 0 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0,0,0,.035);
}
.panel-head { min-height: 51px; padding: 13px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 17px; }
.panel-count { color: var(--kpi); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }

.filter-panel { padding: 14px 16px 4px; }
.filter-grid { display: grid; grid-template-columns: minmax(280px,1.5fr) repeat(3,minmax(150px,.75fr)) auto; gap: 10px; align-items: end; }
.field { min-width: 0; display: grid; gap: 5px; color: #5b666b; font-size: 11px; font-weight: 700; }
.field input, .field select {
  width: 100%;
  min-height: 36px;
  border: 1px solid #d7dedb;
  background: #fff;
  color: var(--ink);
  padding: 6px 9px;
  outline: 0;
}
.field input:focus, .field select:focus { border-color: var(--brand); box-shadow: 0 0 0 2px rgba(79,120,136,.14); }
.secondary-button, .pager button {
  min-height: 36px;
  border: 1px solid #c8d0cd;
  background: #fff;
  color: var(--brand-dark);
  padding: 6px 13px;
  cursor: pointer;
  font-weight: 700;
}
.secondary-button:hover, .pager button:hover:not(:disabled) { background: var(--soft); }
.pager button:disabled { cursor: default; opacity: .4; }

.summary-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 12px; }
.summary-metric { min-width: 0; padding: 11px 16px; border-right: 1px solid var(--line); }
.summary-metric:last-child { border-right: 0; }
.summary-metric span, .summary-metric strong { display: block; }
.summary-metric span { color: var(--muted); font-size: 11px; }
.summary-metric strong { margin-top: 3px; color: var(--kpi); font-size: 19px; font-variant-numeric: tabular-nums; }

.table-wrap { width: 100%; overflow: auto; }
.product-table, .detail-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.product-table { min-width: 1180px; }
.product-table th, .product-table td, .detail-table th, .detail-table td { border-bottom: 1px solid #e7ebe9; padding: 9px 10px; text-align: left; vertical-align: top; }
.product-table th, .detail-table th { position: sticky; top: 0; z-index: 2; background: #f7f9f8; color: #687277; font-size: 11px; font-weight: 700; white-space: nowrap; }
.product-table tbody tr { cursor: pointer; }
.product-table tbody tr:hover { background: #f6f8f7; }
.product-table tbody tr.is-selected { background: #edf4f6; box-shadow: inset 3px 0 0 var(--brand); }
.product-table tbody tr.is-gffunds { box-shadow: inset 3px 0 0 var(--entity); }
.product-table tbody tr.is-gffunds.is-selected { background: var(--entity-soft); box-shadow: inset 4px 0 0 var(--entity); }
.product-link { color: var(--ink); font-weight: 800; }
.product-link:hover { color: var(--entity-dark); }
.cell-sub { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.metric-raw { color: var(--kpi); font-weight: 800; font-variant-numeric: tabular-nums; }
.metric-raw.is-missing { color: #a2aaa7; }
.source-badge, .data-state, .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--source, #9aa4a8) 30%, white);
  border-radius: 3px;
  background: var(--source-pale, #f4f6f6);
  color: var(--source, #5b666b);
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.source-badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--source); }
.source-badge.is-gffunds { border-color: #dfb99d; color: var(--entity-dark); box-shadow: inset 2px 0 0 var(--entity); }
.data-state { border-color: #d7dedb; background: #f5f7f6; color: #7a8580; }
.data-state.is-ready { border-color: #bfd8ca; background: #f0f7f3; color: var(--good); }
.pager { min-height: 54px; padding: 9px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; }
.pager-actions { display: flex; gap: 7px; }

.scatter-toolbar { padding: 13px 16px; display: grid; grid-template-columns: repeat(2,minmax(220px,340px)); gap: 10px; }
.legend-row { padding: 0 16px 10px; display: flex; flex-wrap: wrap; gap: 7px; }
.legend-item { --source: #687277; --source-pale: #fff; color: #5b666b; }
.legend-item.is-gffunds { border-color: #dfb99d; background: var(--entity-soft); color: var(--entity-dark); }
.legend-mark { width: 7px; height: 7px; border-radius: 50%; background: var(--mark); }
.scatter-stage { position: relative; border-top: 1px solid var(--line); background: #fff; }
#performanceScatter { display: block; width: 100%; height: 540px; outline: 0; touch-action: pan-y; }
#performanceScatter:focus { box-shadow: inset 0 0 0 2px var(--brand); }
.chart-tooltip { position: absolute; z-index: 5; width: min(300px,calc(100% - 16px)); border: 1px solid #cad5d1; background: rgba(255,255,255,.98); box-shadow: 0 8px 20px rgba(0,0,0,.12); padding: 10px; pointer-events: none; font-size: 11px; }
.chart-tooltip strong, .chart-tooltip span { display: block; }
.chart-tooltip strong { margin-bottom: 4px; color: var(--ink); }
.chart-tooltip span { color: var(--muted); }

.overview-kpis { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin-bottom: 16px; border: 1px solid var(--line); background: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.035); }
.overview-kpis > div { min-width: 0; padding: 15px 16px; border-right: 1px solid var(--line); }
.overview-kpis > div:last-child { border-right: 0; }
.overview-kpis span, .overview-kpis strong { display: block; }
.overview-kpis span { color: var(--muted); font-size: 11px; }
.overview-kpis strong { margin-top: 4px; color: var(--kpi); font-size: 26px; font-variant-numeric: tabular-nums; }
.overview-kpis .is-gffunds { background: var(--entity-soft); box-shadow: inset 3px 0 0 var(--entity); }
.overview-kpis .is-gffunds strong { color: var(--entity-dark); }
.gffunds-focus {
  margin-bottom: 16px;
  min-height: 104px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: minmax(210px,.75fr) minmax(520px,2fr) auto;
  gap: 22px;
  align-items: center;
  border: 1px solid #dfb99d;
  border-left: 5px solid var(--entity);
  background: #fffaf6;
  box-shadow: 0 3px 12px rgba(82,44,24,.05);
}
.gffunds-focus-title { display: flex; align-items: center; gap: 12px; }
.gf-monogram { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #d6a986; color: #fff; background: var(--entity); font-weight: 900; letter-spacing: .04em; }
.gffunds-focus-title span:not(.gf-monogram) { color: var(--entity-dark); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.gffunds-focus-title h2 { margin: 1px 0 0; font-size: 21px; }
.gffunds-focus-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.gffunds-focus-metrics div { padding: 5px 12px; border-left: 1px solid #ead8ca; }
.gffunds-focus-metrics span, .gffunds-focus-metrics strong { display: block; }
.gffunds-focus-metrics span { color: var(--muted); font-size: 10px; }
.gffunds-focus-metrics strong { margin-top: 3px; color: var(--entity-dark); font-size: 20px; }
.primary-link { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--entity); background: var(--entity); color: #fff; padding: 6px 14px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.primary-link:hover { background: var(--entity-dark); }
.overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.overview-grid-compact { grid-template-columns: minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.4fr); }
.overview-panel { overflow: hidden; }
.overview-bars { padding: 8px 16px 13px; }
.overview-bar { min-height: 33px; display: grid; grid-template-columns: 28px minmax(120px,210px) minmax(80px,1fr) 52px; gap: 9px; align-items: center; border-bottom: 1px solid #eef1ef; font-size: 11px; }
.overview-bar:last-child { border-bottom: 0; }
.overview-bar:hover { background: #f7f9f8; }
.overview-bar-rank { color: #a0a8a5; font-variant-numeric: tabular-nums; }
.overview-bar-label { min-width: 0; overflow: hidden; color: #3d464a; text-overflow: ellipsis; white-space: nowrap; }
.overview-bar i, .composition-list i { height: 6px; display: block; overflow: hidden; background: #edf0ef; }
.overview-bar i b, .composition-list i b { height: 100%; display: block; background: var(--brand); }
.overview-bar strong { color: var(--kpi); text-align: right; font-variant-numeric: tabular-nums; }
.overview-bar.is-gffunds { margin: 0 -6px; padding: 0 6px; background: var(--entity-soft); box-shadow: inset 3px 0 0 var(--entity); }
.overview-bar.is-gffunds i b { background: var(--entity); }
.overview-bar.is-gffunds .overview-bar-label, .overview-bar.is-gffunds strong { color: var(--entity-dark); font-weight: 800; }
.composition-list { padding: 9px 16px 14px; }
.composition-list > div { min-height: 31px; display: grid; grid-template-columns: minmax(90px,150px) minmax(80px,1fr) 48px; gap: 9px; align-items: center; border-bottom: 1px solid #eef1ef; font-size: 11px; }
.composition-list > div:last-child { border-bottom: 0; }
.composition-list strong { text-align: right; color: var(--kpi); }
.coverage-grid { padding: 13px 16px 16px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.coverage-grid a { min-width: 0; padding: 12px; border: 1px solid var(--line); background: #fafbfa; }
.coverage-grid a:hover { border-color: #b8cbd2; background: var(--soft); }
.coverage-grid span, .coverage-grid strong, .coverage-grid small { display: block; }
.coverage-grid span { color: var(--muted); font-size: 10px; }
.coverage-grid strong { margin-top: 3px; color: var(--kpi); font-size: 22px; }
.coverage-grid small { margin-top: 2px; color: var(--brand-dark); }

.detail-shell { max-width: 1320px; }
.back-link { display: inline-flex; margin: 0 0 12px; color: var(--brand-dark); font-size: 12px; font-weight: 800; }
.detail-hero { margin-bottom: 16px; border: 1px solid var(--line); border-left: 5px solid var(--source); background: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.035); }
.detail-hero.is-gffunds { border-color: #dfb99d; border-left-color: var(--entity); background: #fffaf6; }
.detail-title-row { padding: 18px 20px 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.detail-title-row h1 { margin: 3px 0 0; font-size: 27px; line-height: 1.25; }
.detail-subtitle { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.detail-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.detail-kpi { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--line); }
.detail-kpi:last-child { border-right: 0; }
.detail-kpi span, .detail-kpi strong { display: block; }
.detail-kpi span { color: var(--muted); font-size: 10px; }
.detail-kpi strong { margin-top: 4px; color: var(--kpi); font-size: 14px; overflow-wrap: anywhere; }
.detail-hero.is-gffunds .detail-kpi strong { color: var(--entity-dark); }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(320px,.75fr); gap: 16px; align-items: start; }
.detail-column { min-width: 0; }
.detail-section h2 { margin: 0; padding: 13px 16px; border-bottom: 1px solid var(--line); font-size: 16px; }
.section-body { padding: 15px 16px; }
.definition-list { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #e8ecea; border-left: 1px solid #e8ecea; }
.definition-list > div { min-width: 0; padding: 9px 10px; border-right: 1px solid #e8ecea; border-bottom: 1px solid #e8ecea; }
.definition-list dt { color: var(--muted); font-size: 10px; }
.definition-list dd { margin: 3px 0 0; color: #343c40; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-line; }
.metric-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.metric-card { min-width: 0; padding: 11px 12px; border: 1px solid var(--line); background: #fafbfa; }
.metric-card span, .metric-card strong, .metric-card small { display: block; }
.metric-card span { color: var(--muted); font-size: 10px; }
.metric-card strong { margin-top: 3px; color: var(--kpi); font-size: 21px; font-variant-numeric: tabular-nums; }
.metric-card small { color: var(--muted); font-size: 9px; }
.detail-table-wrap { margin-top: 14px; max-height: 420px; }
.detail-table { min-width: 560px; }
.document-link { color: var(--brand-dark); font-weight: 800; }
.document-link:hover { color: var(--entity-dark); }
.line-chart { width: 100%; overflow: hidden; }
.line-chart svg { display: block; width: 100%; height: auto; min-height: 230px; }
.chart-caption { margin: 7px 0 0; color: var(--muted); font-size: 10px; text-align: right; }
.analytics-note { margin: 9px 0 0; padding: 9px 11px; border-left: 3px solid #90aeb9; background: #f3f7f8; color: #536167; font-size: 10px; line-height: 1.65; }
.analysis-section .section-body { background: linear-gradient(180deg,#fbfdfd 0,#fff 100%); }
.manager-card { padding: 12px; border: 1px solid var(--line); background: #fafbfa; }
.manager-card + .manager-card { margin-top: 9px; }
.manager-card h3 { margin: 0; color: var(--entity-dark); font-size: 15px; }
.manager-card p { margin: 7px 0 0; color: #4d585d; font-size: 11px; line-height: 1.7; }
.manager-card dl { margin: 9px 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.manager-card dl div { padding-top: 6px; border-top: 1px solid var(--line); }
.manager-card dt { color: var(--muted); font-size: 9px; }
.manager-card dd { margin: 2px 0 0; font-size: 11px; }

@media (max-width: 1100px) {
  .filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .summary-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .summary-metric { border-bottom: 1px solid var(--line); }
  .overview-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .overview-kpis > div { border-bottom: 1px solid var(--line); }
  .gffunds-focus { grid-template-columns: 1fr; gap: 14px; }
  .detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .topbar-inner { min-height: 58px; padding: 0 14px; gap: 12px; }
  .brand { min-width: auto; }
  .brand strong { display: none; }
  .brand-mark { width: 32px; height: 32px; }
  .nav-link { min-height: 58px; padding: 0 12px; font-size: 12px; }
  .page-shell { padding: 16px 14px 34px; }
  .page-heading { align-items: flex-start; }
  .page-heading h1 { font-size: 24px; }
  .asof-block span { display: none; }
  .filter-grid { grid-template-columns: 1fr; }
  .summary-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .scatter-toolbar { grid-template-columns: 1fr; }
  #performanceScatter { height: 480px; }
  .overview-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .overview-kpis > div { padding: 12px; }
  .overview-kpis strong { font-size: 22px; }
  .gffunds-focus { padding: 14px; }
  .gffunds-focus-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gffunds-focus-metrics div { border-bottom: 1px solid #ead8ca; }
  .overview-grid, .overview-grid-compact { grid-template-columns: 1fr; gap: 0; }
  .overview-bar { grid-template-columns: 24px minmax(100px,150px) minmax(60px,1fr) 44px; }
  .detail-title-row { padding: 15px; }
  .detail-title-row h1 { font-size: 23px; }
  .detail-title-row .source-badge { display: none; }
  .detail-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .detail-kpi { border-bottom: 1px solid var(--line); }
  .definition-list { grid-template-columns: 1fr; }
  .metric-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .section-body { padding: 12px; }
}

@media (max-width: 420px) {
  .nav-link { padding: 0 9px; }
  .summary-strip { grid-template-columns: 1fr 1fr; }
  .gffunds-focus-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .coverage-grid { grid-template-columns: 1fr; }
  .metric-cards { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Performance values: red for gains, green for losses/risk; counts stay neutral. */
.pf-positive { color:#c52a30 !important; }
.pf-negative { color:#16845b !important; }
.pf-neutral { color:#52606c !important; }
.composition-note{margin:0;padding:0 18px 16px;font-size:11px;line-height:1.75;color:#75838e}
.overview-asof{display:grid;gap:6px;text-align:right;font-size:12px;color:#60727e}.overview-asof span{margin-right:14px;color:#87919a}.overview-asof time{font-variant-numeric:tabular-nums;color:#344c5b}
.nav-link.advisor-link{align-self:center;min-height:44px;margin-left:14px;padding:8px 18px;border:1px solid #a51e26;border-radius:6px;background:#a51e26;color:#fff;font-size:16px;font-weight:750;white-space:nowrap;box-shadow:0 2px 4px #a51e261a}.nav-link.advisor-link:hover{background:#86171e;color:#fff}.advisor-link:focus-visible{outline:3px solid #d8a653;outline-offset:3px}
.freshness-panel{margin:16px 0}.freshness-panel .panel-head>span{font-size:12px;color:#71808b}
.freshness-legend{display:flex;flex-wrap:wrap;gap:10px 24px;padding:14px 18px 0;color:#617381;font-size:12px}.freshness-legend i,.freshness-table i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.freshness-legend b{color:#344b59;font-weight:600;margin-left:6px}
.freshness-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);gap:24px;padding:12px 18px}.freshness-plot{min-width:0;position:relative}.freshness-plot svg{width:100%;height:330px;display:block}.freshness-plot g{cursor:pointer;outline:none}.freshness-plot g[aria-pressed="true"] .freshness-hit{fill:#3449570d;stroke:#728793;stroke-width:1}.freshness-plot g:focus-visible .freshness-hit{stroke:#253c4b;stroke-width:2}
.freshness-inspector{background:#f7f9fa;border:1px solid #e0e7eb;border-radius:5px;padding:8px 12px}.freshness-date-control{display:flex;gap:6px;align-items:center;max-width:340px;margin:0 auto 8px}.freshness-date-control select{min-width:0;flex:1;min-height:44px;border:1px solid #cbd6dd;background:#fff;border-radius:4px;padding:5px 10px;color:#344b59;font:inherit;font-size:13px}.freshness-date-control button{width:44px;min-height:44px;border:1px solid #cbd6dd;border-radius:4px;background:#fff;color:#344b59;font-size:23px;cursor:pointer}.freshness-date-control button:disabled{opacity:.35;cursor:default}.freshness-date-control :focus-visible{outline:2px solid #344957;outline-offset:2px}
.freshness-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:11px;color:#647783}.freshness-counts span{white-space:nowrap}.freshness-counts i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px}.freshness-counts b{display:block;font-size:17px;color:#344b59;font-variant-numeric:tabular-nums;margin-top:3px}.freshness-counts span:last-child{border-left:1px solid #dbe3e8;padding-left:10px}.freshness-tooltip{position:absolute;z-index:8;width:248px;max-width:calc(100% - 8px);background:#fff;border:1px solid #cbd6dd;border-radius:5px;padding:12px;box-shadow:0 5px 18px #243e5426;pointer-events:none}.freshness-tooltip[hidden]{display:none}.freshness-tooltip>strong{display:block;font-size:12px;color:#344b59;margin-bottom:10px}.freshness-tooltip .freshness-counts{grid-template-columns:1fr 1fr;gap:10px}.freshness-tooltip .freshness-counts span:last-child{border:0;padding:0}.freshness-tooltip .freshness-counts b{font-size:16px}.freshness-help{font-size:11px;line-height:1.6;color:#7b8a95;margin:9px 0 0}
.freshness-table{border-collapse:collapse;width:100%;align-self:center;font-size:12px;white-space:nowrap}.freshness-table caption{text-align:left;font-size:11px;color:#87939b;margin-bottom:8px}.freshness-table th{font-weight:500;text-align:left;color:#657784}.freshness-table td{text-align:right;color:#344b59;font-variant-numeric:tabular-nums}.freshness-table th:not(:first-child){text-align:right}.freshness-table td,.freshness-table th{padding:8px 5px;border-bottom:1px solid #e7ecef}.freshness-table small{display:block;font-size:10px;color:#99a2a9}.freshness-note{padding:0 18px 15px;margin:0;font-size:11px;color:#80909b;line-height:1.75}
@media(max-width:1000px){.freshness-layout{grid-template-columns:1fr}.freshness-table{max-width:720px;justify-self:center}}
@media(max-width:760px){.brand strong{display:block;font-size:15px;white-space:nowrap}.brand-mark{display:none}.topbar-inner{gap:5px;padding:0 10px}.nav-link{padding:0 8px;font-size:11px}.overview-asof{font-size:11px}.overview-asof>div{display:grid;gap:2px}.overview-asof span{margin:0}.freshness-layout{padding:10px;gap:4px}.freshness-legend{padding:12px 10px 0;gap:12px;font-size:11px}.freshness-legend b{margin-left:3px}.freshness-table{font-size:11px}.freshness-table i{width:7px;height:7px;margin-right:3px}.freshness-note{padding:10px;font-size:10px}}
.freshness-table small{font-size:11px;color:#657784}.freshness-table tfoot{background:#f7f9fa}.freshness-table caption{margin-top:8px}.freshness-panel .panel-head{flex-wrap:wrap;gap:8px}
@media(max-width:760px){.nav-link.advisor-link{margin-left:5px;padding:8px 10px;font-size:13px}.freshness-table{margin-top:14px}.freshness-inspector{padding:8px}.freshness-counts{gap:4px}.freshness-counts b{font-size:15px}.freshness-counts i{margin-right:3px}.freshness-panel .panel-head>span{font-size:11px}}
.filter-disclosure>summary { padding:10px 16px;cursor:pointer;font-size:12px;color:#53616d;border-bottom:1px solid var(--line); }
.filter-disclosure>summary span { margin-left:12px;font-size:11px;color:var(--muted); }
.multi-select { position:relative;min-width:0; }
.multi-select>summary { display:flex;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;min-height:40px;padding:10px 12px;background:#fff;border:1px solid #cbd2d8;border-radius:4px;color:#344957;font-size:13px; }
.multi-select>summary::-webkit-details-marker { display:none; }
.multi-select-value { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.multi-select-menu { position:absolute;top:calc(100% + 4px);left:0;width:max(100%,300px);max-width:min(440px,calc(100vw - 48px));z-index:20;background:#fff;padding:10px;border:1px solid #cbd2d8;border-radius:5px;box-shadow:0 8px 24px #24374620; }
.multi-select-menu>input { width:100%;min-height:40px; }
.multi-select-actions { display:flex;align-items:center;gap:10px;margin:8px 0;font-size:11px;color:#687783; }
.multi-select-actions span { flex:1; }
.multi-select-actions button,.multi-select-menu>[data-more],.palette-rule button { background:#fff;color:#344957;border:1px solid #d3dbe0;border-radius:3px;cursor:pointer;min-height:36px;padding:6px 9px; }
.multi-select-options { max-height:240px;overflow:auto;overscroll-behavior:contain; }
.multi-select-options label { display:flex;align-items:center;gap:9px;min-height:40px;cursor:pointer;padding:6px;border-radius:3px;font-size:12px; }
.multi-select-options label:hover { background:#f2f5f7; }.multi-select-options input { width:17px;height:17px;min-height:0;flex-shrink:0;accent-color:#344957; }
.multi-select-menu>[data-more] { width:100%;margin-top:8px; }
.company-colors { border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:12px; }
.company-colors>summary { padding:11px 16px;cursor:pointer;font-size:12px;color:#344957; }.company-colors>summary span { color:#7a8791;margin-left:12px;font-size:11px; }
.palette-panel { padding:0 16px 14px;background:#fafbfc; }.palette-help { margin:0;padding:12px 0;color:#667783;font-size:12px;line-height:1.6; }
.palette-form { display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:12px; }.palette-form .field:first-child { flex:1;min-width:220px; }.palette-form input[type="color"] { width:60px;min-height:40px;padding:3px;cursor:pointer; }
.palette-rules { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }.palette-rule { display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border:1px solid #dce3e7;border-radius:4px;min-width:0; }.palette-rule>.legend-mark { width:12px;height:12px;flex-shrink:0;border:1px solid #0002; }.palette-rule>div { flex:1;min-width:0; }.palette-rule strong,.palette-rule span { display:block;font-size:12px;overflow-wrap:anywhere; }.palette-rule span { margin-top:4px;color:#71808b;font-size:11px; }
.palette-defaults { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px; }.palette-defaults label { display:flex;align-items:center;gap:8px; }.palette-defaults input { width:44px;height:36px;cursor:pointer; }.palette-defaults>span { color:#71808b;font-size:11px; }.palette-status { margin:10px 0 0;min-height:1em;font-size:12px;color:#344957; }
.palette-form [hidden],.multi-select-menu>[hidden] { display:none; }
.legend-item { max-width:100%;overflow-wrap:anywhere; }.legend-mark { flex-shrink:0;border:1px solid #0002; }
@media(max-width:760px) { .palette-rules { grid-template-columns:1fr; }.multi-select-menu { position:static;width:100%;max-width:none;margin-top:4px;box-shadow:none; }.multi-select-options label,.multi-select-actions button,.palette-rule button { min-height:44px; }.multi-select-options { max-height:200px; }.palette-form .field:first-child { min-width:100%; }.company-colors>summary { padding:12px; }.palette-panel { padding:0 12px 12px; } }
.scatter-toolbar { grid-template-columns:repeat(2,minmax(200px,330px)) minmax(230px,1fr);align-items:end; }
.scatter-view-controls { display:flex;gap:6px;justify-content:flex-end; }
.scatter-view-controls button { min-height:38px;padding:7px 13px;border:1px solid #cbd2d8;background:#fff;color:#56636e;cursor:pointer; }
.scatter-view-controls button[aria-pressed="true"] { border-color:#344957;background:#344957;color:#fff; }
.scatter-guide { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px 8px;flex-wrap:wrap;font-size:11px;color:#65727c; }
.scatter-guide .legend-row { padding:0; }
.selected-key { width:10px;height:10px;border:2px solid #142431;border-radius:50%;background:#fff; }
.quadrant-rule { margin:0;padding:8px 16px 12px;color:#697680;font-size:11px;line-height:1.6; }
#performanceScatter { height:600px; }
.missing-summary { display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 16px 14px;font-size:11px;color:#66717b; }
.missing-summary>span { padding:4px 8px;background:#f3f5f6;border-radius:3px; }
.missing-summary small { flex-basis:100%;color:#87909a; }
.comparability-note { padding:10px 16px;border-top:1px solid var(--line);font-size:11px;color:#75808a; }
.comparability-note summary { cursor:pointer; }.comparability-note p { margin-bottom:0;line-height:1.65; }
.selection-hint { padding:13px 16px;margin:14px 0;background:#f5f7f8;border:1px dashed #cdd5da;color:#73818c;font-size:12px; }
#selectedProductPanel { scroll-margin-top:82px; }
.selected-product-card { margin:14px 0;background:#fff;border:1px solid #c3ced6;border-top:3px solid #344957; }
.selected-product-card>summary { cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;gap:14px; }
.selected-product-card>summary::-webkit-details-marker { display:none; }
.selection-eyebrow { display:block;color:#7e8891;font-size:10px;letter-spacing:.06em; }
.selected-product-name { display:block;margin-top:4px;font-size:20px;font-weight:800;color:#263946;text-decoration:underline;text-decoration-color:#becad3;text-underline-offset:4px; }
.selection-toggle { flex-shrink:0;font-size:12px;color:#647582; }.selection-toggle span { margin-right:5px; }
.selected-product-card[open] .when-closed,.selected-product-card:not([open]) .when-open { display:none; }
.selection-basics { display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:14px;padding:12px 18px;border-top:1px solid #e5eaee;background:#fbfcfc; }
.selection-basics span,.selection-basics strong { display:block;font-size:12px;overflow-wrap:anywhere; }.selection-basics span { color:#869099;font-size:10px;margin-bottom:4px; }
.selection-metrics { display:grid;grid-template-columns:repeat(6,minmax(0,1fr)); }
.selection-metrics>div { padding:13px 16px;border-top:1px solid #e5eaee;border-right:1px solid #e5eaee;min-width:0; }
.selection-metric-label { display:block;color:#71808b;font-size:11px;margin-bottom:6px; }
.selection-metrics .metric-raw { display:block;font-size:21px; }
.selection-metrics small { display:block;margin-top:6px;color:#7e8891;font-size:10px;line-height:1.55; }
.metric-missing { white-space:normal;max-width:180px; }
@media(max-width:900px) { .scatter-toolbar { grid-template-columns:1fr 1fr; }.scatter-view-controls { grid-column:1/-1;justify-content:flex-start; }.selection-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) {
  .scatter-toolbar { grid-template-columns:1fr;gap:9px;padding:10px 12px; }.scatter-view-controls { grid-column:auto; }
  .scatter-view-controls button { min-height:44px;flex:1; }.scatter-guide { padding:0 12px 8px; }.quadrant-rule { padding:6px 12px 10px; }
  #performanceScatter { height:560px; }.selection-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .selection-basics { grid-template-columns:1fr 1fr; }.selected-product-card>summary { padding:13px;align-items:flex-start; }.selected-product-name { font-size:18px; }
  .selection-toggle { margin-top:5px;font-size:11px; }.selection-metrics>div { padding:12px; }.selection-metrics .metric-raw { font-size:20px; }
}

/* 广发专区：机构研究报告式层级；收益红、损失与回撤绿。 */
body[data-page="private-fund-gffunds"],body[data-page="private-fund-gffunds-manager"] { background: #fff; }
.gf-zone-shell { max-width: 1120px; color: #202c38; }
.gf-report-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 36px;
  align-items: end;
  padding: 30px 0 22px;
  border-bottom: 3px solid #17324d;
  background: #fff;
}
.gf-report-hero h1 { margin: 3px 0 8px; color: #17324d; font-size: 34px; line-height: 1.18; letter-spacing: -.02em; }
.gf-report-hero p { max-width: 720px; margin: 0; color: #66717e; font-size: 13px; }
.gf-eyebrow { color: #b72f32 !important; font-size: 10px !important; font-weight: 800; letter-spacing: .16em; }
.gf-hero-aside { min-width: 170px; padding-left: 22px; border-left: 1px solid #dce2e7; text-align: right; }
.gf-hero-aside span,.gf-hero-aside strong,.gf-hero-aside small { display: block; }
.gf-hero-aside span,.gf-hero-aside small { color: #66717e; font-size: 10px; }
.gf-hero-aside strong { margin: 4px 0; color: #17324d; font-size: 22px; font-variant-numeric: tabular-nums; }
.gf-kpi-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-bottom: 1px solid #dce2e7; background: #fff; }
.gf-kpi-strip>div { min-width: 0; padding: 16px 14px; border-right: 1px solid #dce2e7; }
.gf-kpi-strip>div:last-child { border-right: 0; }
.gf-kpi-strip span,.gf-kpi-strip strong,.gf-kpi-strip small { display: block; }
.gf-kpi-strip span { color: #66717e; font-size: 10px; }
.gf-kpi-strip strong { margin-top: 4px; color: #17324d; font-size: 19px; font-variant-numeric: tabular-nums; }
.gf-kpi-strip small { margin-top: 2px; color: #7d8791; font-size: 9px; line-height: 1.35; }
.gf-boundary { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 16px; margin: 20px 0; padding: 14px 16px; border-left: 3px solid #b72f32; background: #f6f8fa; }
.gf-boundary strong { color: #17324d; font-size: 12px; }
.gf-boundary p { margin: 0; color: #566575; font-size: 11px; line-height: 1.72; }
.gf-section { margin-top: 22px; border-top: 1px solid #17324d; background: #fff; }
.gf-section-head { min-height: 76px; padding: 17px 16px 13px; display: flex; align-items: end; justify-content: space-between; gap: 22px; border-bottom: 1px solid #dce2e7; }
.gf-section-head h2 { margin: 0; color: #17324d; font-size: 19px; }
.gf-section-head p:not(.gf-section-index) { margin: 4px 0 0; color: #66717e; font-size: 10px; }
.gf-section-index { margin: 0 0 2px; color: #b72f32; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.gf-search { min-width: 245px; color: #66717e; font-size: 10px; }
.gf-search input { width: 100%; height: 36px; margin-top: 4px; padding: 0 10px; border: 1px solid #cbd4dc; background: #fff; color: #202c38; }
.gf-search input:focus { border-color: #17324d; outline: 2px solid rgba(23,50,77,.12); }
.gf-table-wrap { overflow: auto; }
.gf-table { width: 100%; min-width: 940px; border-collapse: collapse; font-size: 11px; }
.gf-table th,.gf-table td { padding: 11px 10px; border-bottom: 1px solid #e3e8ec; text-align: right; vertical-align: middle; font-variant-numeric: tabular-nums; }
.gf-table th { background: #f6f8fa; color: #566575; font-size: 10px; font-weight: 700; white-space: nowrap; }
.gf-table th:first-child,.gf-table td:first-child,.gf-table th:nth-child(2),.gf-table td:nth-child(2) { text-align: left; }
.gf-table tbody tr:hover { background: #fbfcfd; }
.gf-table td small { display: block; margin-top: 2px; color: #7d8791; font-size: 9px; }
.gf-primary-link { color: #17324d; font-weight: 750; text-decoration: underline; text-decoration-color: #c9d2da; text-underline-offset: 3px; }
.gf-primary-link:hover { color: #b72f32; text-decoration-color: #b72f32; }
.gf-number { font-weight: 750; white-space: nowrap; }
.gf-zone-shell .pf-positive { color: #b72f32 !important; }
.gf-zone-shell .pf-negative { color: #17744b !important; }
.gf-zone-shell .pf-neutral { color: #66717e !important; }
.gf-coverage { display: inline-block; min-width: 42px; padding: 2px 5px; text-align: center; white-space: nowrap; }
.gf-coverage.is-complete { color: #17324d; background: #edf2f6; }
.gf-coverage.is-partial { color: #8a601b; background: #fff6df; }
.gf-result-line { margin: 0; padding: 9px 12px; color: #66717e; background: #f9fafb; font-size: 10px; }
.gf-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.gf-bars { padding: 16px; }
.gf-bar-row { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(120px,1.7fr) 58px; gap: 10px; align-items: center; min-height: 31px; }
.gf-bar-row span { overflow: hidden; color: #344454; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.gf-bar-row i { height: 8px; background: #e8edf1; }
.gf-bar-row i b { display: block; height: 100%; background: #17324d; }
.gf-bars.is-exposure .gf-bar-row i b { background: #b72f32; }
.gf-bar-row strong { color: #17324d; font-size: 10px; text-align: right; font-variant-numeric: tabular-nums; }
.gf-conclusion>p { margin: 0; padding: 19px 17px; color: #4e5f6f; font-size: 12px; line-height: 1.8; }
.gf-conclusion>p strong { color: #17324d; font-size: 17px; }
.gf-empty { margin: 0; padding: 16px; color: #7d8791; font-size: 11px; }
.gf-methodology ul { margin: 0; padding: 16px 18px 18px 34px; color: #566575; font-size: 11px; line-height: 1.8; }
.gf-back { display: inline-block; margin: 2px 0 10px; color: #566575; font-size: 11px; }
.gf-back:hover { color: #b72f32; }

@media (max-width: 900px) {
  .gf-kpi-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gf-kpi-strip>div:nth-child(3) { border-right: 0; }
  .gf-kpi-strip>div:nth-child(-n+3) { border-bottom: 1px solid #dce2e7; }
  .gf-two-column { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 620px) {
  .gf-zone-shell { padding: 14px 12px 34px; }
  .gf-report-hero { grid-template-columns: 1fr; gap: 16px; padding-top: 20px; }
  .gf-report-hero h1 { font-size: 27px; }
  .gf-hero-aside { min-width: 0; padding: 12px 0 0; border-top: 1px solid #dce2e7; border-left: 0; text-align: left; }
  .gf-kpi-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gf-kpi-strip>div:nth-child(3) { border-right: 1px solid #dce2e7; }
  .gf-kpi-strip>div:nth-child(even) { border-right: 0; }
  .gf-kpi-strip>div:nth-child(-n+4) { border-bottom: 1px solid #dce2e7; }
  .gf-boundary { grid-template-columns: 1fr; gap: 5px; }
  .gf-section-head { align-items: stretch; flex-direction: column; }
  .gf-search { min-width: 0; width: 100%; }
  .gf-search input { min-height: 44px; }
  .gf-bar-row { grid-template-columns: minmax(105px,.9fr) minmax(90px,1.4fr) 55px; }
}
.manager-filter-grid{padding:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.manager-chart{width:100%;min-height:420px}.manager-chart canvas{display:block;max-width:100%;touch-action:pan-y}.manager-note{padding:0 16px;color:#66717e;font-size:13px;line-height:1.65}.manager-link{border:0;background:none;color:#17324d;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px;text-align:left}.manager-tooltip{position:fixed;z-index:10000;pointer-events:none;max-width:min(350px,calc(100vw - 16px));padding:14px;background:#fff;border:1px solid #abb5bf;box-shadow:0 5px 20px #17324d26;color:#17324d;font-size:13px}.manager-tooltip small{display:block;color:#66717e}.manager-tooltip>div{margin-top:7px}.manager-comparison-labels{display:flex;flex-wrap:wrap;gap:14px;padding:12px}.manager-color-rule{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0}.manager-color-rule i,.legend-row>span>i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}.manager-color-rule span{flex:1}.manager-color-rule button,#managerCompareBody button,#managerRows button,#managerPager button{min-height:36px;padding:6px 10px;cursor:pointer}.manager-color-rule button:focus-visible,.pf-sort-button:focus-visible,.manager-link:focus-visible{outline:3px solid #17324d;outline-offset:2px}#managerDetail .summary-strip strong{font-size:24px}#managerDetail .summary-strip small{font-size:12px}#managerRows button[aria-pressed="true"]{background:#17324d;color:#fff}#managerRows button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.manager-filter-grid{grid-template-columns:1fr}.manager-chart{min-height:400px}.manager-comparison-labels{display:grid}.manager-color-rule{font-size:12px}.manager-note{padding:0 8px}.manager-filter-grid input,.manager-filter-grid button{min-height:44px}}
@media(max-width:760px){.topbar-inner{flex-wrap:wrap;gap:0}.topbar-inner>.brand{min-height:40px}.topbar-inner>.nav{width:100%;flex-basis:100%;justify-content:flex-start}.topbar-inner>.nav .nav-link{min-height:44px;flex-shrink:0}.topbar-inner>.nav .advisor-link{margin-top:0;margin-bottom:0}body[data-page="private-fund-managers"] .page-heading{display:grid;grid-template-columns:1fr auto;gap:8px}body[data-page="private-fund-managers"] .page-heading p{margin:8px 0;font-size:13px}body[data-page="private-fund-managers"] .asof-block{max-width:150px}body[data-page="private-fund-managers"] .asof-block time{font-size:10px}}
#managerDetail .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:20px}#managerDetail .summary-strip>div{display:grid;align-content:start;gap:6px}#managerDetail .summary-strip>div>span:last-child{font-size:12px;color:#66717e}body[data-page="private-fund-managers"] .pf-positive{color:#B72F32!important}body[data-page="private-fund-managers"] .pf-negative{color:#17744B!important}
.manager-view-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-top:1px solid #dce2e7;font-size:12px;color:#66717e}.manager-view-toolbar button{padding:9px 13px;min-height:44px;background:white;border:1px solid #dce2e7;color:#17324d;cursor:pointer}.manager-view-toolbar button[aria-pressed=true]{background:#17324d;color:white}.manager-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px}.manager-profile{min-width:0;padding:18px;border-top:2px solid #17324d;line-height:1.75;font-size:14px;overflow-wrap:anywhere}.manager-profile h3{font-size:20px;color:#17324d;margin:0 0 12px}.manager-profile h4{font-size:15px;color:#17324d;margin:20px 0 10px}.manager-profile dl{margin:0}.manager-profile dl>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #e5e9ed}.manager-profile dt{color:#66717e}.manager-profile dd{margin:0}.manager-bio{white-space:pre-line}.manager-evidence{padding:14px;background:#f2f4f6;margin-top:14px}.manager-strategy{display:grid;grid-template-columns:1fr 1.2fr 50px;gap:10px;align-items:center;font-size:12px;margin:7px 0}.manager-strategy i{height:6px;background:#e9eef2}.manager-strategy b{display:block;height:6px;background:#758ca0}.manager-strategy strong{text-align:right}.manager-filter-grid .field{min-width:0}.manager-filter-grid .multi-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px)}.manager-filter-grid .multi-select-menu{z-index:100}.manager-profile small{font-size:12px}.manager-profile .manager-note{padding:0}
@media(max-width:760px){.manager-profile-grid{grid-template-columns:1fr;padding:12px;gap:20px}.manager-profile{padding:12px 4px}.manager-view-toolbar{padding:10px}.manager-filter-grid .multi-select-menu{position:relative;width:100%;box-sizing:border-box}.manager-profile dl>div{grid-template-columns:72px minmax(0,1fr)}}
/* Award provenance stays next to the recipient; list colors are categorical. */
.award-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;grid-column:1/-1}
.award-filters .field{flex:1 1 180px;min-width:0}
.award-note{font-size:12px;color:#66717e;line-height:1.7;grid-column:1/-1;margin:8px 0}
.award-records{margin-top:6px;max-width:460px;white-space:normal;font-size:12px}
.award-records summary{cursor:pointer;line-height:1.8;list-style:none}
.award-records summary small{display:block;color:#66717e}
.award-badge{display:inline-block;background:#eff3f7;color:#17324d;border:1px solid #d9e2eb;border-radius:3px;padding:1px 5px;margin:2px 4px 2px 0}
.award-record-list{min-width:180px;max-height:340px;overflow:auto;padding:6px 0}
.award-record-list article{padding:8px 0;border-bottom:1px solid #dce2e7}
.award-record-list span{display:block;line-height:1.65;color:#56616b;overflow-wrap:anywhere}
.award-empty{font-size:11px;color:#75808a}
 .scatter-stage{position:relative}
 .scatter-pending{position:absolute;z-index:2;top:12px;right:16px;padding:7px 12px;background:#f3f6fa;color:#536578;border-radius:4px;font-size:12px;pointer-events:none}
 .scatter-pending[hidden]{display:none}
