/* Shared column boundaries and content baselines for the market overview. */
html:root body.equity-portfolio-font {
  --eq-overview-columns: .92fr 1fr 1.2fr 1.4fr;
  --eq-overview-panel-header: 84px;
  --eq-overview-detail-row: 132px;
  --eq-overview-detail-tracks: minmax(84px, auto) 34px repeat(4, minmax(var(--eq-overview-detail-row), auto)) 28px;
}
html:root body.equity-portfolio-font #equity-overview .metrics-grid {
  align-items: stretch;
  padding-bottom: 26px;
}
html:root body.equity-portfolio-font #equity-overview .metric-card {
  grid-template-rows: 26px 58px minmax(48px, auto) 3px;
  row-gap: 8px;
}
html:root body.equity-portfolio-font #equity-overview .metric-label { margin: 0; font-size: 13px !important; line-height: 1.5; }
html:root body.equity-portfolio-font #equity-overview .metric-value { margin: 0 !important; font-size: clamp(28px, 2.5vw, 36px) !important; }
html:root body.equity-portfolio-font #equity-overview .metric-sub { max-width: none; margin: 0; font-size: 12px !important; line-height: 1.6 !important; }
html:root body.equity-portfolio-font #equity-overview .metric-meter { margin: 0 !important; height: 3px !important; }
html:root body.equity-portfolio-font #equity-overview .hero-side,
html:root body.equity-portfolio-font #signal-ribbon {
  display: grid !important;
  grid-template-columns: var(--eq-overview-columns) !important;
  column-gap: var(--eq-overview-gap) !important;
  row-gap: 0 !important;
}
html:root body.equity-portfolio-font #equity-overview .hero-side {
  padding: 25px 0 24px !important;
  border-bottom: 1px solid var(--eq-ui-line) !important;
}
html:root body.equity-portfolio-font #equity-overview .side-insight {
  grid-column: auto !important;
  grid-template-rows: 24px minmax(80px, auto) auto;
  row-gap: 10px;
}
html:root body.equity-portfolio-font #equity-overview .side-kicker { margin: 0; min-height: 0; font-size: 13px !important; line-height: 1.5; }
html:root body.equity-portfolio-font #equity-overview .side-insight strong { min-height: 0; margin: 0 !important; font-size: 18px !important; line-height: 1.4 !important; letter-spacing: -.25px; }
html:root body.equity-portfolio-font #equity-overview .side-insight > span { font-size: 12px !important; line-height: 1.6 !important; }
html:root body.equity-portfolio-font #signal-ribbon {
  grid-template-rows: var(--eq-overview-detail-tracks);
  padding: 28px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--eq-ui-line) !important;
  align-items: stretch;
}
html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel {
  display: grid !important;
  grid-template-rows: subgrid !important;
  grid-row: span 7;
  /* Layout containment prevents a subgrid from inheriting its parent tracks. */
  contain: none !important;
  position: relative;
  min-width: 0;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel + .ribbon-panel::before {
  content: '';
  display: block !important;
  position: absolute;
  top: 0; bottom: 0; left: calc(var(--eq-overview-gap) / -2);
  width: 1px;
  background: var(--eq-ui-line);
}
html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-head { grid-row: 1; min-height: 0; margin: 0; }
html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-head .ribbon-label { margin: 0 !important; color: var(--text) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.5 !important; letter-spacing: 0; }
html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-sub { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; font-weight: 400; }
html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-body { display: contents; }
html:root body.equity-portfolio-font #signal-ribbon .ribbon-value { grid-row: 2; align-self: start; margin: 0 !important; font-size: 14px !important; line-height: 21px !important; letter-spacing: 0; font-weight: 500 !important; }
html:root body.equity-portfolio-font #signal-ribbon .eq-weather-content { grid-row: 3 / span 4; min-width: 0; min-height: 0; display: flex; flex-direction: column; padding-block: 14px; }
html:root body.equity-portfolio-font #signal-ribbon .ribbon-gauge { align-self: stretch; width: 100%; grid-template-columns: minmax(0, .52fr) minmax(0, .48fr) !important; align-items: center; gap: 18px 12px !important; margin: 0 !important; }
html:root body.equity-portfolio-font #signal-ribbon .gauge-svg { width: 100% !important; max-width: 156px; height: auto !important; }
html:root body.equity-portfolio-font #signal-ribbon .ribbon-insight { display: contents; }
html:root body.equity-portfolio-font #signal-ribbon .ribbon-insight b { margin: 0; font-size: clamp(22px, 2.5vw, 33px) !important; font-weight: 600 !important; font-variant-numeric: tabular-nums; }
html:root body.equity-portfolio-font #signal-ribbon .ribbon-insight span { grid-column: 1 / -1; margin: 0; font-size: 13px !important; line-height: 1.75 !important; font-weight: 400 !important; }
html:root body.equity-portfolio-font #signal-ribbon .eq-market-internals { min-width: 0; display: flex; flex-direction: column; flex: 1; margin-top: 28px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-market-internals h4 { margin: 0 0 18px; font-size: 14px; line-height: 21px; font-weight: 500; color: var(--text); letter-spacing: 0; }
html:root body.equity-portfolio-font #signal-ribbon .eq-participation-row + .eq-participation-row { margin-top: 16px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-weather-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; font-size: 13px; line-height: 21px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-weather-label span { color: var(--muted); }
html:root body.equity-portfolio-font #signal-ribbon .eq-weather-label strong { flex-shrink: 0; font-weight: 500; color: var(--text); font-variant-numeric: tabular-nums; }
html:root body.equity-portfolio-font #signal-ribbon .eq-participation-track { height: 6px; margin-top: 7px; overflow: hidden; border-radius: 3px; background: var(--line); }
html:root body.equity-portfolio-font #signal-ribbon .eq-participation-track span { display: block; height: 100%; border-radius: inherit; background: var(--green-strong); }
html:root body.equity-portfolio-font #signal-ribbon .eq-horizon-gap { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--eq-ui-line); }
html:root body.equity-portfolio-font #signal-ribbon .eq-horizon-gap p { margin: 4px 0 0; font-size: 12px; line-height: 18px; color: var(--muted); }
html:root body.equity-portfolio-font #signal-ribbon .eq-sector-participation { margin-top: auto; padding-top: 24px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-sector-segments { display: grid; grid-template-columns: repeat(var(--eq-sector-count), minmax(0, 1fr)); gap: 4px; margin-top: 8px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-sector-segments span { height: 6px; border-radius: 2px; background: var(--line); }
html:root body.equity-portfolio-font #signal-ribbon .eq-sector-segments span[data-positive] { background: var(--green-strong); }
html:root body.equity-portfolio-font #signal-ribbon .eq-sector-participation p { margin: 8px 0 0; font-size: 12px; line-height: 18px; color: var(--muted); }
html:root body.equity-portfolio-font #signal-ribbon .dual-trend-stack { display: contents; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-block { grid-template-rows: 34px minmax(0, 1fr); align-content: stretch; gap: 0; padding-bottom: 14px; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-block:first-child { grid-row: 2 / span 3; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-block:last-child { grid-row: 5 / span 2; grid-template-rows: 32px minmax(0, 1fr); padding-top: 14px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-overview-trend-rows { display: grid; grid-template-rows: repeat(5, 21px); align-content: space-between; min-width: 0; min-height: 0; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-block:first-child .eq-overview-trend-rows { padding-top: 14px; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-title,
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-head,
html:root body.equity-portfolio-font #signal-ribbon .extreme-heading { min-height: 0; align-self: start; margin: 0 !important; font-size: 14px !important; line-height: 21px !important; font-weight: 500 !important; color: var(--text) !important; letter-spacing: 0; text-transform: none; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row { grid-template-columns: 82px minmax(0, 1fr) 28px !important; gap: 8px !important; align-self: start; align-items: baseline; line-height: 21px !important; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-track { align-self: center; height: 7px !important; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row :is(span:first-child, strong) { font-size: 12px !important; font-weight: 400 !important; }
html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row strong { text-align: right; font-variant-numeric: tabular-nums; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-head { display: block; grid-row: 2; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-head > span { display: block; font-size: 14px !important; line-height: 21px !important; color: var(--text) !important; font-weight: 500 !important; white-space: normal; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-list { display: grid; grid-row: 3 / span 4; grid-template-rows: subgrid; margin: 0; padding: 0; gap: 0; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row { grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-rows: minmax(42px, 1fr) 18px; gap: 8px !important; align-items: start; min-height: 0; padding: 14px 0 !important; border-bottom: 1px solid var(--eq-ui-line) !important; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row small { grid-column: 1; grid-row: 1 / span 2; font-size: 12px !important; line-height: 1.5 !important; font-weight: 400 !important; letter-spacing: 0; color: var(--muted) !important; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row strong { grid-column: 2 / -1; grid-row: 1; display: block; overflow: visible; -webkit-line-clamp: unset; font-size: 13px !important; line-height: 21px !important; font-weight: 500 !important; letter-spacing: 0; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row > span { font-size: 12px !important; line-height: 18px !important; font-weight: 400 !important; color: var(--text) !important; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row > span:nth-child(3) { grid-column: 2; grid-row: 2; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row > span:nth-child(4) { grid-column: 3; grid-row: 2; text-align: right; }
html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-controls { grid-row: 7; position: static; align-self: end; margin: 0 !important; }
html:root body.equity-portfolio-font #signal-ribbon .extremes-card { display: grid; grid-row: 2 / span 5; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: subgrid; column-gap: 18px !important; row-gap: 0 !important; margin: 0 !important; }
html:root body.equity-portfolio-font #signal-ribbon .extreme-column { display: grid; grid-template-rows: subgrid; grid-row: span 5; }
html:root body.equity-portfolio-font #signal-ribbon .extreme-row { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 21px minmax(0, 1fr) 18px; row-gap: 6px; align-items: start; min-height: 0; padding: 14px 0 !important; border-bottom: 1px solid var(--eq-ui-line) !important; }
html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-ticker { display: flex; justify-content: space-between; align-items: baseline; gap: 7px; }
html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-ticker strong { margin: 0; font-size: 14px !important; line-height: 1.5; font-weight: 500 !important; }
html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-ticker .extreme-score { margin: 0; min-width: 0; color: var(--c) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.5 !important; }
html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-industry { display: block; margin: 0; overflow: visible; -webkit-line-clamp: unset; font-size: 11px !important; line-height: 16.5px !important; font-weight: 400 !important; letter-spacing: 0; color: var(--muted) !important; white-space: normal; }
html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-mr { display: block; margin: 0; color: var(--muted); font-size: 12px; line-height: 18px; font-weight: 400; font-variant-numeric: tabular-nums; }
@media (min-width: 1280px) {
  html:root body.equity-portfolio-font { --eq-overview-detail-row: 120px; }
  html:root body.equity-portfolio-font #equity-overview .side-insight { grid-template-rows: 24px minmax(62px, auto) auto; }
  html:root body.equity-portfolio-font #equity-overview .side-insight strong { font-size: 20px !important; }
  html:root body.equity-portfolio-font #equity-overview :is(.metric-sub, .side-insight > span),
  html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-sub { font-size: 13px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row { grid-template-columns: 88px minmax(0, 1fr) 28px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row :is(span:first-child, strong) { font-size: 13px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-row strong { font-size: 14px !important; }
  html:root body.equity-portfolio-font #signal-ribbon :is(.eq-extreme-industry, .eq-extreme-mr) { font-size: 12px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-industry { line-height: 18px !important; }
}
@media (max-width: 979px) {
  html:root body.equity-portfolio-font { --eq-overview-columns: repeat(2, minmax(0, 1fr)); }
  html:root body.equity-portfolio-font #equity-overview .hero-side { row-gap: 28px !important; }
  html:root body.equity-portfolio-font #signal-ribbon { grid-template-rows: var(--eq-overview-detail-tracks) 36px var(--eq-overview-detail-tracks); }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel:nth-child(3) { grid-column: 1; grid-row: 9 / span 7; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel:nth-child(4) { grid-column: 2; grid-row: 9 / span 7; }
  html:root body.equity-portfolio-font #equity-overview .side-insight { grid-template-rows: 24px minmax(54px, auto) auto; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel:nth-child(3)::before { display: none !important; }
}
@media (max-width: 760px) {
  html:root body.equity-portfolio-font #equity-overview .metric-card { grid-template-rows: 23px 40px minmax(43px, auto) 3px; row-gap: 6px; }
  html:root body.equity-portfolio-font #equity-overview .metric-value { font-size: 29px !important; }
  html:root body.equity-portfolio-font #equity-overview .side-insight { grid-template-rows: 36px minmax(76px, auto) auto; row-gap: 7px; }
  html:root body.equity-portfolio-font #equity-overview .side-insight strong { font-size: 16px !important; }
}
@media (max-width: 559px) {
  html:root body.equity-portfolio-font #signal-ribbon { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none; row-gap: 27px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel { display: block !important; grid-column: 1 !important; grid-row: auto !important; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-body { display: flow-root; min-width: 0; }
  html:root body.equity-portfolio-font #equity-overview .side-insight { grid-template-rows: 36px minmax(104px, auto) auto; }
  html:root body.equity-portfolio-font #equity-overview .side-kicker { font-size: 12px !important; }
  html:root body.equity-portfolio-font #equity-overview .side-insight > span { font-size: 12px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel + .ribbon-panel { border-top: 1px solid var(--eq-ui-line) !important; padding-top: 24px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-panel + .ribbon-panel::before { display: none !important; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-overview-panel-head { min-height: 66px; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-value { min-height: 34px; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-weather-content { padding-top: 10px; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-gauge { max-width: 280px; }
  html:root body.equity-portfolio-font #signal-ribbon .ribbon-insight b { font-size: 33px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .dual-trend-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  html:root body.equity-portfolio-font #signal-ribbon .trend-stack-block { grid-row: auto !important; grid-template-rows: 34px auto; padding: 0 !important; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-overview-trend-rows { grid-template-rows: repeat(5, 30px); align-content: start; }
  html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row { grid-template-columns: 88px minmax(0, 1fr) 30px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .trend-stack-row :is(span:first-child, strong) { font-size: 13px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-head { min-height: 34px; }
  html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-list { grid-template-rows: repeat(4, minmax(var(--eq-overview-detail-row), auto)); }
  html:root body.equity-portfolio-font #signal-ribbon .industry-pulse-controls { min-height: 28px; align-items: end; }
  html:root body.equity-portfolio-font #signal-ribbon .extremes-card { grid-template-rows: 34px repeat(4, minmax(var(--eq-overview-detail-row), auto)); }
  html:root body.equity-portfolio-font #signal-ribbon :is(.eq-extreme-industry, .eq-extreme-mr) { font-size: 12px !important; }
  html:root body.equity-portfolio-font #signal-ribbon .eq-extreme-industry { line-height: 18px !important; }
}
@media (max-width: 379px) {
  html:root body.equity-portfolio-font #equity-overview .hero-side { grid-template-columns: minmax(0, 1fr) !important; }
  html:root body.equity-portfolio-font #equity-overview .side-insight { grid-template-rows: 24px auto auto; }
}
