.ranking-impact { color: #1f2937; background: #f3f4f6; }
.ranking-impact h1, .ranking-impact h2, .ranking-impact p, .ranking-impact label, .ranking-impact strong { color: inherit; }
.ranking-impact h1 { font-size: 28px; font-weight: 600; }
.ranking-impact .impact-controls { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; margin: 22px 0; }
.ranking-impact label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.ranking-impact select, .ranking-impact input { border: 1px solid #667085; border-radius: 5px; padding: 9px 12px; min-height: 40px; color: #1f2937; background: #fff; }
.ranking-impact input::placeholder { color: #596579; opacity: 1; }
.ranking-impact button { border: 1px solid #344054; border-radius: 5px; padding: 9px 14px; min-height: 40px; font-weight: 600; color: #fff; background: #344054; }
.ranking-impact button:hover { color: #fff; background: #182230; }
.ranking-impact button:active { color: #fff; background: #101828; }
.ranking-impact button:disabled, .ranking-impact select:disabled { color: #475467; background: #e4e7ec; border-color: #667085; cursor: not-allowed; opacity: 1; }
.ranking-impact button:focus-visible, .ranking-impact select:focus-visible, .ranking-impact input:focus-visible, .ranking-impact summary:focus-visible, .ranking-impact .impact-table-wrap:focus-visible { outline: 3px solid #175cd3; outline-offset: 3px; }
.ranking-impact .impact-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ranking-impact .impact-card { color: #1f2937; background: #fff; border: 1px solid #d0d5dd; border-radius: 8px; padding: 18px; }
.ranking-impact .impact-card h2 { font-size: 17px; font-weight: 600; margin: 0 0 16px; }
.ranking-impact .impact-stock { font-size: clamp(18px, 2vw, 27px); font-weight: 600; font-variant-numeric: tabular-nums; margin-bottom: 12px; }
.ranking-impact .impact-stock span { color: #667085; }
.ranking-impact .impact-negative { color: #b42318; }
.ranking-impact .impact-positive { color: #067647; }
.ranking-impact .impact-note, .ranking-impact .impact-dates { color: #475467; margin: 16px 0; }
.ranking-impact .impact-error { color: #912018; background: #fef3f2; padding: 15px; border: 1px solid #b42318; }
.ranking-impact .impact-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.ranking-impact .impact-categories button { color: #344054; background: #fff; }
.ranking-impact .impact-categories button:hover { color: #182230; background: #eaecf0; }
.ranking-impact .impact-categories button.impact-selected, .ranking-impact .impact-categories button:active { color: #fff; background: #344054; }
.ranking-impact .impact-table-wrap { overflow-x: auto; background: #fff; color: #1f2937; border: 1px solid #d0d5dd; border-radius: 6px; }
.ranking-impact .impact-table { width: 100%; min-width: 960px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ranking-impact .impact-table th, .ranking-impact .impact-table td { padding: 13px 15px; text-align: right; border-bottom: 1px solid #eaecf0; }
.ranking-impact .impact-table th:first-child { text-align: left; }
.ranking-impact .impact-table thead { color: #344054; background: #f2f4f7; }
.ranking-impact .impact-table tbody th { font-weight: 400; }
.ranking-impact .impact-table tbody tr:hover { background: #f9fafb; }
.ranking-impact .impact-domain { display: block; font-weight: 600; overflow-wrap: anywhere; }
.ranking-impact .impact-badge { display: inline-block; margin-top: 6px; border-radius: 4px; padding: 3px 7px; color: #344054; background: #eaecf0; font-size: 12px; }
.ranking-impact .impact-strong_loss, .ranking-impact .impact-loss { color: #912018; background: #fee4e2; }
.ranking-impact .impact-slight_loss, .ranking-impact .impact-insufficient { color: #7a2e0e; background: #fef0c7; }
.ranking-impact .impact-gain { color: #05603a; background: #d1fadf; }
.ranking-impact .impact-pagination { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin: 16px 0; }
.ranking-impact .impact-page-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.ranking-impact .impact-page-numbers button { color: #344054; background: #fff; }
.ranking-impact .impact-page-numbers button:hover { color: #182230; background: #eaecf0; }
.ranking-impact .impact-page-numbers button.impact-selected, .ranking-impact .impact-page-numbers button:active { color: #fff; background: #344054; }
.ranking-impact .impact-page-numbers button:disabled { color: #475467; background: #e4e7ec; }
.ranking-impact .impact-method { margin: 24px 0; padding: 16px; background: #fff; color: #344054; border: 1px solid #d0d5dd; border-radius: 6px; }
.ranking-impact summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.ranking-impact .impact-detail-open { display: block; margin-top: 8px; font-size: 12px; }
.ranking-impact .impact-detail { margin: 24px 0; scroll-margin-top: 20px; }
.ranking-impact .impact-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.ranking-impact .impact-detail-heading h2 { overflow-wrap: anywhere; min-width: 0; flex: 1; }
.ranking-impact .impact-detail-table th:first-child { min-width: 220px; max-width: 360px; overflow-wrap: anywhere; }
.ranking-impact .impact-detail a { color: #175cd3; background: #fff; text-decoration: underline; }
.ranking-impact .impact-detail a:hover, .ranking-impact .impact-detail a:active { color: #1849a9; background: #fff; }
.ranking-impact .impact-detail a:focus-visible { outline: 3px solid #175cd3; outline-offset: 3px; }
@media (max-width: 1100px) { .ranking-impact .impact-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ranking-impact .impact-metrics { grid-template-columns: 1fr; } .ranking-impact label { width: 100%; } .ranking-impact .impact-controls button { width: 100%; } }
