* { box-sizing: border-box; } body { margin: 0; background: #f4f6f7; color: #17202a; font-family: Inter, Arial, sans-serif; } .app-shell { min-height: 100vh; padding: 18px 22px 28px; } .hero, .toolbar, .tabs { max-width: 1560px; margin-left: auto; margin-right: auto; } .hero { padding: 8px 2px 14px; border-bottom: 1px solid #d8e1e7; } .hero-copy { min-width: 0; } .eyebrow { margin-bottom: 7px; color: #526171; font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; } h1, h2, h3, p { margin-top: 0; } h1 { margin-bottom: 8px; font-size: 40px; line-height: 1.05; letter-spacing: 0; } h2 { margin-bottom: 5px; font-size: 20px; letter-spacing: 0; } .lede { max-width: 840px; margin-bottom: 0; color: #526171; font-size: 15px; line-height: 1.45; } .top-strip { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; } .metric-card { min-width: 145px; padding: 12px 14px; border: 1px solid #d8e1e7; border-radius: 8px; background: #ffffff; } .metric-label { color: #607080; font-size: 11px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; } .metric-value { margin-top: 7px; color: #101820; font-size: 22px; font-weight: 800; line-height: 1.1; } .metric-detail { margin-top: 6px; color: #647383; font-size: 12px; line-height: 1.35; } .toolbar { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: minmax(230px, 310px); gap: 16px; margin-top: 14px; margin-bottom: 14px; padding: 12px; border: 1px solid #d8e1e7; border-radius: 8px; background: rgba(255, 255, 255, 0.96); box-shadow: 0 8px 24px rgba(18, 28, 38, 0.06); backdrop-filter: blur(6px); } .control label { display: block; margin-bottom: 6px; color: #344452; font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; } .Select--multi .Select-value { margin-top: 3px; } .Select-multi-value-wrapper { max-height: 86px; overflow-y: auto; } .tabs { border: 0; } .tab { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 44px; padding: 11px 18px !important; border: 0 !important; border-bottom: 2px solid transparent !important; background: transparent !important; color: #637381 !important; font-size: 14px; font-weight: 700; } .tab-selected { color: #12302f !important; border-bottom-color: #1565C0 !important; background: #ffffff !important; } .panel { margin-top: 14px; padding: 18px; border: 1px solid #d8e1e7; border-radius: 8px; background: #ffffff; } .panel-heading { margin-bottom: 14px; } .panel-subtitle { max-width: 980px; margin-bottom: 0; color: #526171; font-size: 13px; line-height: 1.45; } .leaderboard-panel { padding-top: 16px; } .top-strip { margin-bottom: 14px; } .leaderboard-grid { display: grid; grid-template-columns: minmax(560px, 1.08fr) minmax(360px, 0.92fr); gap: 16px; align-items: start; } .leaderboard-table-wrap, .consistency-table-wrap { min-width: 0; } .sort-state { display: inline-flex; align-items: center; min-height: 30px; margin: 0 0 8px; padding: 6px 10px; border: 1px solid #cfd8df; border-radius: 6px; background: #f7fafb; color: #344452; font-size: 12px; font-weight: 800; line-height: 1.2; } .latent-grid { display: grid; grid-template-columns: minmax(360px, 0.42fr) minmax(620px, 1fr); gap: 16px; align-items: start; } .latent-panel { min-width: 0; } .latent-color-control { width: min(260px, 100%); margin-bottom: 8px; } .chart-grid { display: grid; gap: 16px; align-items: start; } .chart-grid.two { grid-template-columns: repeat(2, minmax(320px, 1fr)); } .table-hint { margin: 10px 2px 0; color: #647383; font-size: 12px; } .details-table { margin-top: 12px; border-top: 1px solid #e5ebef; } .details-table summary { cursor: pointer; padding: 12px 0 8px; color: #344452; font-size: 13px; font-weight: 800; } .details-body { padding-top: 4px; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th { background: #f3f6f8 !important; padding: 0 !important; border-right: 1px solid #d8e1e7 !important; overflow: visible !important; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th:last-child { border-right: 0 !important; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th.dash-header > div { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; min-height: 43px; padding: 10px 12px !important; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner .column-header-name { flex: 1 1 auto !important; min-width: 0; color: #26323f; line-height: 1.15; white-space: normal; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner .column-actions { order: -1; flex: 0 0 auto !important; display: inline-flex !important; align-items: center; justify-content: center; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner .column-header--sort { display: inline-flex !important; align-items: center; justify-content: center; width: 22px; height: 22px; border: 1px solid #c7d3dc; border-radius: 5px; background: #ffffff; color: #526171 !important; font-size: 13px; font-weight: 900; line-height: 1; opacity: 1 !important; } .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th:hover .column-header--sort { border-color: #1565C0; background: #edf6ff; color: #1565C0 !important; } .dash-table-container .previous-next-container { margin-top: 8px; color: #526171; font-size: 12px; } @media (max-width: 1180px) { .hero, .toolbar, .leaderboard-grid, .latent-grid, .chart-grid.two { grid-template-columns: 1fr; } } @media (max-width: 680px) { .app-shell { padding: 12px; } h1 { font-size: 32px; } .panel { padding: 14px; } .tab { padding-left: 10px !important; padding-right: 10px !important; font-size: 13px; } }