.app_shell_header__hrHnk{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--header-border);gap:24px;flex-wrap:wrap}.app_shell_brand__tiL4R{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.app_shell_nav__HBMzf{display:flex;align-items:baseline;gap:28px;flex:1 1;flex-wrap:wrap}.app_shell_navItem__Cxzij{background:none;border:none;padding:0;cursor:pointer;font-size:.95rem;color:var(--text-secondary)}.app_shell_navItemActive__PqUKP{color:var(--accent);font-weight:600;cursor:default}.app_shell_navItemDisabled__hS4qc{cursor:not-allowed;color:var(--text-tertiary)}.app_shell_navComingSoon__tmDi2{display:block;font-size:.6rem;letter-spacing:.04em;color:var(--text-tertiary);margin-top:2px}.app_shell_actions__lKDP2{display:flex;gap:10px}.app_shell_actionButton__cjT_7{background:transparent;border:1px solid var(--panel-border);color:var(--text-primary);border-radius:6px;padding:8px 14px;font-size:.85rem;cursor:pointer}.app_shell_actionButton__cjT_7:hover{border-color:var(--text-secondary)}.app_shell_main__BIkeZ{padding:28px 32px 48px}.app_shell_pageTitle___GKeO{font-size:1.9rem;font-weight:800;margin:0 0 8px}.app_shell_pageSubtitle___PJo3{color:var(--text-secondary);max-width:760px;line-height:1.5;margin:0 0 24px;font-size:.92rem}.contributor_table_wrapper__WY9gx{height:100%;display:flex;flex-direction:column}.contributor_table_scrollArea__b_tl7{overflow-y:auto;max-height:560px;border-top:1px solid var(--panel-border)}.contributor_table_table__GU1n_{width:100%;border-collapse:collapse;font-size:.82rem}.contributor_table_table__GU1n_ th{position:-webkit-sticky;position:sticky;top:0;background:var(--panel-bg);text-align:left;color:var(--text-tertiary);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;padding:10px 12px;border-bottom:1px solid var(--panel-border);white-space:nowrap}.contributor_table_thRight__ZL58Q{text-align:right}.contributor_table_table__GU1n_ td{padding:10px 12px;border-bottom:1px solid var(--panel-border);vertical-align:middle;white-space:nowrap}.contributor_table_tdRight__DUN0o{text-align:right}.contributor_table_row__lJSnh:hover{background:var(--row-hover)}.contributor_table_rowPulseUp__jzs_X{animation:contributor_table_pulseUp__FDu_I 1.6s ease-out}.contributor_table_rowPulseDown__O3Prv{animation:contributor_table_pulseDown__znoZr 1.6s ease-out}@keyframes contributor_table_pulseUp__FDu_I{0%,25%{background-color:var(--pulse-up)}to{background-color:transparent}}@keyframes contributor_table_pulseDown__znoZr{0%,25%{background-color:var(--pulse-down)}to{background-color:transparent}}.contributor_table_emptyState__CK7io,.contributor_table_loadingState__tpaCF{padding:40px 16px;text-align:center;color:var(--text-secondary);font-size:.85rem}.contributor_table_skeletonCell__Wpm_C{display:inline-block;height:12px;width:60%;border-radius:4px;background:var(--track-bg)}.metric_bar_track__BE_0B{display:inline-block;width:56px;height:6px;border-radius:3px;background:var(--track-bg);overflow:hidden;vertical-align:middle}.metric_bar_fill__brnxn{display:block;height:100%;border-radius:3px}.equity_attribution_panel_grid__vxAt0{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));grid-gap:20px;gap:20px}.equity_attribution_panel_panel__vJfMI{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;overflow:hidden}.equity_attribution_panel_panelHeader__QCbG3{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;gap:12px}.equity_attribution_panel_panelTicker__bLm95{font-size:1.15rem;font-weight:800}.equity_attribution_panel_panelPrice__z3Ugb{display:flex;align-items:baseline;gap:10px;flex:1 1;margin-left:14px}.equity_attribution_panel_panelPriceValue__mz28t{font-size:1.15rem;font-weight:700}.equity_attribution_panel_countBadge__BsoHE{border:1px solid var(--accent);color:var(--accent);border-radius:5px;padding:4px 8px;font-size:.72rem;white-space:nowrap}.equity_attribution_panel_panelFooter__3HC7s{padding:10px 16px;font-size:.72rem;color:var(--text-tertiary);border-top:1px solid var(--panel-border)}.equity_attribution_panel_tickerCell__mW5ta{display:flex;align-items:flex-start;gap:8px}.equity_attribution_panel_sectorDot__SFW_U{width:8px;height:8px;border-radius:2px;margin-top:5px;flex-shrink:0}.equity_attribution_panel_tickerText__Lblb3{display:flex;flex-direction:column}.equity_attribution_panel_tickerSymbol__vTer3{font-weight:700}.equity_attribution_panel_tickerSector__nZVAS{font-size:.72rem;color:var(--text-secondary)}.equity_attribution_panel_stackedCell__1QuR0{display:flex;flex-direction:column;align-items:flex-end}.equity_attribution_panel_stackedSub__l1hgf{font-size:.72rem;color:var(--text-tertiary)}.equity_attribution_panel_ivRankCell__pqAhT{display:flex;align-items:center;justify-content:flex-end;gap:8px}.equity_attribution_panel_trackButton__UNLhI{background:transparent;border:1px solid var(--panel-border);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:.7rem;cursor:pointer}.equity_attribution_panel_trackButton__UNLhI:hover{border-color:var(--accent);color:var(--accent)}.equity_attribution_panel_trackButton__UNLhI:disabled{cursor:default;opacity:.6}.equity_attribution_panel_trackError__riXnm{font-size:.68rem;color:var(--negative);cursor:pointer}.sector_line_chart_card__T_aES{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;padding:20px 20px 12px}.sector_line_chart_header__3NKgD{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.sector_line_chart_title___AR8F{font-size:1.05rem;font-weight:800;margin:0}.sector_line_chart_controls__nec3p{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.sector_line_chart_pillGroup__RH_Ey{display:inline-flex;border:1px solid var(--panel-border);border-radius:6px;overflow:hidden}.sector_line_chart_pill__hBFLR{background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;font-size:.78rem;cursor:pointer}.sector_line_chart_pillActive__Wn9wI{background:var(--accent-dim);color:var(--accent);font-weight:700}.sector_line_chart_pillDisabled__XinSQ{cursor:not-allowed;color:var(--text-tertiary)}.sector_line_chart_chartArea__PUaQT{height:420px;position:relative}.sector_line_chart_stateOverlay__bAhl2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.9rem}.sector_line_chart_legend__w_ee7{display:flex;flex-wrap:wrap;gap:14px;padding:14px 4px 4px;border-top:1px solid var(--panel-border);margin-top:8px}.sector_line_chart_legendItem__mGDg4{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.78rem;cursor:pointer;padding:0}.sector_line_chart_legendItemDimmed__DFWmi{opacity:.35}.sector_line_chart_legendItemActive__Oe87O{color:var(--text-primary);font-weight:600}.sector_line_chart_legendSwatch__blxTQ{width:10px;height:10px;border-radius:2px}.sector_line_chart_legendDash__1qjaw{width:14px;height:0;border-top:2px dashed var(--text-primary)}.status_badge_badge__VM3wf{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status_badge_dot__DgI89{width:7px;height:7px;border-radius:2px}.equity_attribution_page_titleRow__L9fB_{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.equity_attribution_page_pageTitle__vl2V5{font-size:1.3rem;font-weight:800;margin:0}.equity_attribution_page_pageSubtitle__bpZ7C{color:var(--text-secondary);max-width:760px;line-height:1.5;margin:6px 0 20px;font-size:.85rem}.equity_attribution_page_reconnectButton__1aaiF{background:transparent;border:1px solid var(--panel-border);color:var(--text-primary);border-radius:6px;padding:6px 12px;font-size:.78rem;cursor:pointer;margin-left:10px}