/* Selected workbench design: classic research report, grouped portfolio directory.
   Layout coordinates remain owned by the adjustable component system. */
:root {
  --workbench-title: #922D29;
  --workbench-display: "KaiTi", "STKaiti", "Microsoft YaHei", serif;
  --workbench-ui: Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
  --radius: 7px;
}
html, body { font-family: var(--workbench-ui); background: var(--canvas); }
body { min-width: 0; }
button, input, select { font-family: var(--workbench-ui); }
.site-header { height: auto; position: relative; background: #fff; border-bottom: 0; box-shadow: 0 3px 16px #30272A04; }
.site-header .masthead { width: 100%; max-width: 1800px; height: 102px; min-height: 102px; margin: 0 auto; padding: 0 34px; gap: 24px; flex-wrap: nowrap; }
.site-header .brand { display: flex; flex: 0 1 auto; align-items: center; gap: 24px; min-width: 0; }
.site-header .brand .report-logo { width: 285px; max-width: none; height: auto; }
.site-header .brand .platform-name { padding-left: 25px; border-left: 1px solid var(--line); font: 500 42px/1.2 "Microsoft YaHei", Arial, sans-serif; color: var(--workbench-title); letter-spacing: 5px; white-space: nowrap; }
.site-header .header-tools { margin-left: auto; flex-shrink: 0; }
.nav-band { background: #fff; border-top: 1px solid #EFE5E1; border-bottom: 2px solid var(--brand); }
.nav-band .top-nav { display: flex; align-items: center; width: 100%; max-width: 1800px; height: 52px; min-height: 52px; margin: 0 auto; padding: 0 34px; gap: 12px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
.nav-band .nav-link { display: flex; align-items: center; height: 50px; min-height: 50px; padding: 12px 28px; border: 0; border-radius: 0; background: transparent; font: 500 14px var(--workbench-ui); }
.nav-band .nav-link.active { color: var(--workbench-title); background: var(--brand-soft); }
.nav-band .nav-link:hover { color: var(--workbench-title); background: #FCF6F4; }
.nav-band .add-screen { margin-left: 10px; padding: 9px 16px; border-radius: 5px; }
.app-shell { width: 100%; max-width: 1800px; margin: 0 auto; padding: 24px 32px 42px; }
.page-heading { min-height: 38px; margin-bottom: 22px; }
.page-heading h1 { font: 500 31px/1.25 "Microsoft YaHei", Arial, sans-serif; color: var(--workbench-title); letter-spacing: 1px; }
.edition-tag { font-size: 11px; font-weight: 400; padding: 6px 9px; }
.page-meta { font-family: var(--workbench-ui); }

/* Shared report-style card headings across portfolio, watchlist and flexible screens. */
.panel, .institutional-portfolio .ip-widget { border-radius: 7px; }
.panel-heading, .dashboard-widget .panel-heading { padding: 14px 20px; min-height: 60px; background: var(--band); border-color: var(--line); }
.panel-heading h2, .panel-heading h3, .dashboard-widget .panel-heading h2, .dashboard-widget .panel-heading h3 { font: 600 23px/1.25 var(--workbench-display); color: var(--band-ink); letter-spacing: .4px; }
.dashboard-widget.observations-panel .panel-heading { background: var(--brand); }
.dashboard-widget.observations-panel .panel-heading h3 { color: #fff; }
.dashboard-widget.observations-panel .subtle-label { color: #fff; opacity: .85; }
.panel-heading .button, .panel-heading .text-button { font-family: var(--workbench-ui); }
.data-table, .data-table td, .data-table th { font-family: var(--workbench-ui); font-size: 12px; }
.data-table th { font-weight: 500; }
.metric-name-button, .wl-name strong { font-family: var(--workbench-ui); font-size: 14px; font-weight: 600; }
.stat-name { font-family: var(--workbench-ui); font-size: 13px; }
.stat-card { border-radius: 7px; }
.chart-toolbar select { font-size: 13px; }
.chart-footnote { font-size: 11px; }
.observation h3, .observation p { font-family: var(--workbench-ui); }
.wl-candidates button { font-family: var(--workbench-ui); font-size: 13px; }
.wl-page .wl-heat-cell strong { font-family: var(--workbench-ui); font-size: 17px; }
.table-toolbar { padding-top: 12px; }

/* Institutional details keep their real scroll areas and editing affordances. */
.institutional-portfolio { font: 13px/1.6 var(--workbench-ui); }
.institutional-portfolio .ip-context { min-height: 30px; margin: 0 0 12px; gap: 10px; }
.institutional-portfolio .ip-portfolio-name { font: 600 24px/1.35 var(--workbench-display); color: var(--band-ink); }
.institutional-portfolio .ip-toolbar { min-height: 54px; margin-bottom: 18px; padding: 8px 12px; border-radius: 7px; background: #fff; }
.institutional-portfolio .ip-export { margin-left: auto; }
.institutional-portfolio .ip-layout-toolbar { margin-left: 0; }
.institutional-portfolio .ip-module-tabs button { padding: 7px 18px; }
.institutional-portfolio .ip-widget-body { padding: 18px 20px; overflow: auto; }
.institutional-portfolio .ip-grid > [data-widget="summary"] { border: 0; background: transparent; box-shadow: none; }
.institutional-portfolio [data-widget="summary"] .ip-widget-body { padding: 0; }
.institutional-portfolio .ip-stats { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; align-content: stretch; height: 100%; }
.institutional-portfolio .ip-stat, .institutional-portfolio .ip-fi-kpi { padding: 14px 18px; border: 1px solid var(--line); border-top: 3px solid var(--brand); border-radius: 7px; background: var(--card-bg); }
.institutional-portfolio .ip-stat-value, .institutional-portfolio .ip-fi-kpi-value { font-family: var(--workbench-ui); font-size: 28px; font-weight: 600; line-height: 1.2; margin: 8px 0 6px; }
.institutional-portfolio .ip-head { margin: -18px -20px 17px; padding: 13px 20px; min-height: 64px; background: var(--band); border-bottom: 1px solid var(--line); align-items: center; }
.institutional-portfolio .ip-head h3 { font: 600 23px/1.25 var(--workbench-display); color: var(--band-ink); letter-spacing: .4px; }
.institutional-portfolio .ip-head .ip-sub { font-size: 11px; margin-top: 4px; }
.institutional-portfolio .ip-head > .ip-segment { flex-shrink: 0; }
.institutional-portfolio .ip-head > .ip-segment button { padding: 5px 8px; font-size: 11px; }
.institutional-portfolio .ip-facts { gap: 10px 22px; }
.institutional-portfolio .ip-fact { padding: 9px 0 12px; }
.institutional-portfolio .ip-fact > strong { font-size: 23px; }
.institutional-portfolio .ip-bar-list { gap: 11px; }
.institutional-portfolio .ip-bar-row { grid-template-columns: 78px minmax(20px,1fr) 50px; gap: 12px; }
.institutional-portfolio .ip-bar-track { height: 8px; background: var(--brand-soft); }
.institutional-portfolio .ip-bar-fill { opacity: .72; }
.institutional-portfolio .ip-table th, .institutional-portfolio .ip-table td { padding: 10px 8px; }
.institutional-portfolio .ip-table th { font-size: 12px; background: var(--band); color: var(--band-ink); }
.institutional-portfolio .ip-table tbody tr:nth-child(even) { background: #FCFAF9; }
.institutional-portfolio .ip-table tbody tr:hover, .institutional-portfolio .ip-table tr.ip-selected { background: var(--brand-soft); }
.institutional-portfolio .ip-heatmap { min-height: 238px; }
.institutional-portfolio .ip-heat-cell { container-type: size; padding: 6px; }
.institutional-portfolio .ip-heat-cell > * { flex-shrink: 0; line-height: 1.2; }
.institutional-portfolio .ip-heat-change { font-size: clamp(10px,23cqh,18px); }
.institutional-portfolio .ip-heat-name { font-size: 11px; }
.institutional-portfolio .ip-heat-detail { font-size: 11px; }
.institutional-portfolio .ip-catalog-group { border-radius: 6px; }
@container (max-height:68px) { .institutional-portfolio .ip-heat-name, .institutional-portfolio .ip-heat-weight, .institutional-portfolio .ip-heat-status { display: none; } }
@container (max-width:90px) { .institutional-portfolio .ip-heat-name, .institutional-portfolio .ip-heat-weight, .institutional-portfolio .ip-heat-status { display: none; } .institutional-portfolio .ip-heat-change { font-size: 10px; } }
@container (max-width:48px) { .institutional-portfolio .ip-heat-change { display: none; } }

.quote-detail-shell { max-width: 1600px; }
.quote-detail-header { padding-bottom: 22px; border-bottom: 2px solid var(--brand); }
.quote-detail-brand { display: flex; align-items: center; gap: 22px; min-width: 0; }
.quote-detail-brand img { width: 250px; height: auto; }
.quote-detail-brand span { border-left: 1px solid var(--line); padding-left: 22px; font: 500 30px/1.25 "Microsoft YaHei", Arial, sans-serif; color: var(--workbench-title); white-space: nowrap; letter-spacing: 2px; }
.quote-detail-identity h1 { font: 500 29px/1.3 "Microsoft YaHei", Arial, sans-serif; color: var(--workbench-title); }
.quote-detail-header > a:last-child { color: var(--workbench-title); white-space: nowrap; }

@media (max-width:1100px) {
  .site-header .masthead { height: 94px; min-height: 94px; padding: 0 24px; gap: 18px; }
  .site-header .brand { gap: 20px; }
  .site-header .brand .report-logo { width: 250px; }
  .site-header .brand .platform-name { font-size: 36px; padding-left: 20px; letter-spacing: 3px; }
  .nav-band .top-nav { padding-inline: 24px; }
  .app-shell { padding: 22px 24px 36px; }
  .institutional-portfolio .ip-stat, .institutional-portfolio .ip-fi-kpi { padding: 12px; }
  .institutional-portfolio .ip-stat-value, .institutional-portfolio .ip-fi-kpi-value { font-size: 24px; }
}
@media (max-width:760px) {
  .site-header .masthead { height: auto; min-height: 86px; padding: 16px; gap: 12px; }
  .site-header .brand { gap: 14px; }
  .site-header .brand .report-logo { width: 210px; }
  .site-header .brand .platform-name { font-size: 28px; padding-left: 14px; letter-spacing: 2px; }
  .nav-band .top-nav { height: 48px; min-height: 48px; padding: 0 16px; gap: 3px; }
  .nav-band .nav-link { height: 46px; min-height: 46px; padding: 10px 17px; font-size: 13px; }
  .nav-band .add-screen { margin-left: 8px; padding: 7px 11px; }
  .app-shell { padding: 20px 14px 32px; }
  .page-heading { margin-bottom: 18px; }
  .page-heading h1 { font-size: 27px; }
  .page-meta { display: flex; flex-wrap: wrap; justify-content: flex-start; }
  .institutional-portfolio .ip-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .institutional-portfolio .ip-widget-body { padding: 15px; }
  .institutional-portfolio .ip-head { margin: -15px -15px 15px; padding: 13px 15px; }
  .institutional-portfolio .ip-head h3, .panel-heading h2, .panel-heading h3, .dashboard-widget .panel-heading h2, .dashboard-widget .panel-heading h3 { font-size: 21px; }
  .institutional-portfolio .ip-portfolio-name { font-size: 22px; }
  .institutional-portfolio .ip-toolbar { gap: 8px; }
  .panel-heading, .dashboard-widget .panel-heading { padding: 13px 15px; }
  .quote-detail-shell { padding: 20px 15px; }
  .quote-detail-header { gap: 12px; }
  .quote-detail-brand { gap: 14px; }
  .quote-detail-brand img { width: 185px; }
  .quote-detail-brand span { padding-left: 14px; font-size: 24px; }
}
@media (max-width:540px) {
  .site-header .masthead { align-items: center; min-height: 98px; }
  .site-header .brand { flex: 1; flex-wrap: wrap; gap: 9px; }
  .site-header .brand .report-logo { width: 200px; max-width: 100%; }
  .site-header .brand .platform-name { flex-basis: 100%; padding-left: 0; border-left: 0; font-size: 26px; line-height: 1.2; letter-spacing: 3px; }
  .site-header .header-tools { align-self: flex-start; padding-top: 5px; margin-left: 0; }
  .header-tools .button { padding: 6px 8px; }
  .institutional-portfolio .ip-stat-value, .institutional-portfolio .ip-fi-kpi-value { font-size: 22px; }
  .institutional-portfolio .ip-fact > strong { font-size: 21px; }
  .quote-detail-brand { flex-wrap: wrap; gap: 10px; }
  .quote-detail-brand span { flex-basis: 100%; padding-left: 0; border-left: 0; font-size: 25px; }
  .quote-detail-header { align-items: flex-start; }
  .quote-detail-identity h1 { font-size: 25px; }
}
