/* Shared comparison layout: tables keep their own readable width. */
.tablewrap { overflow: visible !important; min-width: 0; }
.comparison-frame { margin: 30px 0 48px; border: 1px solid #ccdee8; border-radius: 16px; background: #fff; box-shadow: 0 5px 20px #103c5110; overflow: hidden; min-width: 0; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; padding: 20px 24px; background: #f0f7fb; border-bottom: 1px solid #d5e4ed; }
.table-toolbar strong { font-size: 15px; line-height: 1.5; color: #07334b; }
.table-toolbar > span { font-size: 12px; line-height: 1.5; color: #476d83; }
.table-scroll, .comparison-table { overflow: auto; max-width: 100%; isolation: isolate; scrollbar-color: #83aec6 #edf5fa; scrollbar-width: auto; overscroll-behavior-x: contain; }
.matrix-scroll { max-height: 670px; }
.table-scroll:focus-visible, .comparison-table:focus-visible { outline: 3px solid #087dc0; outline-offset: -3px; }
.table-scroll::-webkit-scrollbar, .comparison-table::-webkit-scrollbar { height: 12px; width: 12px; }
.table-scroll::-webkit-scrollbar-thumb, .comparison-table::-webkit-scrollbar-thumb { background: #83aec6; border: 3px solid #edf5fa; border-radius: 9px; }
.table-scroll::-webkit-scrollbar-track, .comparison-table::-webkit-scrollbar-track { background: #edf5fa; }
table.research-table, .reading table.research-table, .comparison-table table.research-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; margin: 0; background: #fff; font-size: 14px; line-height: 1.6; color: #31566d; }
.research-table :is(th, td), .reading .research-table :is(th, td), .comparison-table .research-table :is(th, td) { padding: 20px 22px; text-align: left; vertical-align: top; border: 0; border-right: 1px solid #e4edf2; border-bottom: 1px solid #dce7ed; overflow-wrap: break-word; word-break: normal; }
.research-table tr > :last-child { border-right: 0 !important; }
.research-table tbody tr:last-child > * { border-bottom: 0 !important; }
.research-table thead th { background: #e9f3f9; color: #103b52; font-size: 13px; font-weight: 800; line-height: 1.5; letter-spacing: 0; }
.research-table tbody th { color: #113f58; font-weight: 800; }
.research-table tbody tr:nth-child(even) > * { background: #f6fafd; }
.research-table tbody tr:nth-child(odd) > * { background: #fff; }
.research-table tbody tr:hover > * { background: #edf6fc; }
.research-table a { color: #006d9e; text-decoration: underline; text-underline-offset: 3px; }
table.matrix-table { min-width: 1720px; }
.matrix-table tr > :first-child { width: 260px; position: sticky; left: 0; z-index: 2; box-shadow: 3px 0 7px #173a4e0c; }
.matrix-table thead th { position: sticky; top: 0; z-index: 3; box-shadow: 0 1px 0 #cbdde7; }
.matrix-table thead tr > :first-child { z-index: 4; background: #e4f0f7; }
.evidence-badge { display: inline-block; padding: 5px 10px; border: 1px solid transparent; border-radius: 7px; font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: 0; max-width: 100%; }
.evidence-badge.verified { color: #215e4c; background: #e7f4ee; border-color: #c5e3d6; }
.evidence-badge.dependency { color: #715417; background: #fff5dc; border-color: #efdfb6; }
.evidence-badge.excluded { color: #4e6070; background: #edf1f5; border-color: #d5dfe8; }
.evidence-badge.unknown { color: #566b7a; background: #f7f9fb; border-color: #dce5eb; font-weight: 500; }
.table-legend { display: flex; flex-wrap: wrap; gap: 10px; padding: 17px 22px; border-top: 1px solid #d5e4ed; background: #fff; }
.reading table.detail-table { min-width: 800px; }
.detail-table tr > :first-child { width: 180px; }
.detail-table tr > :nth-child(2) { width: 200px; }
.detail-table tr > :nth-child(3) { font-size: 13px; line-height: 1.8; }
.reading table.overview-table { min-width: 780px; }
.overview-table tr > :first-child { width: 230px; }
.overview-table tr > :nth-child(2) { width: 290px; }
.comparison-table { border: 1px solid #ccdee8; border-radius: 12px; background: white; }
.comparison-table table.shortlist-table { min-width: 880px; table-layout: auto; font-size: 14px; }
.shortlist-table tr > * { min-width: 210px; }
.shortlist-table tr > :first-child { position: sticky; left: 0; z-index: 1; min-width: 210px; box-shadow: 3px 0 7px #173a4e0c; }
.shortlist-table thead tr > :first-child { background: #e9f3f9; }
.category-body > .sectionheading { margin-top: 55px; }
@media (max-width: 650px) {
  .table-toolbar { padding: 17px 18px; gap: 7px; }
  .table-toolbar strong { font-size: 14px; }
  .table-toolbar > span { font-size: 11px; }
  .comparison-frame { margin: 24px 0 36px; border-radius: 12px; }
  .research-table :is(th,td), .reading .research-table :is(th,td), .comparison-table .research-table :is(th,td) { padding: 18px 16px; }
  table.matrix-table { min-width: 1600px; }
  .matrix-table tr > :first-child { width: 190px; }
  .matrix-scroll { max-height: 570px; }
  .table-legend { padding: 15px 16px; gap: 8px; }
  .evidence-badge { font-size: 12px; }
}

.reading .note { max-width: none; }

.feature-count{display:block;font-size:11px;line-height:1.5;letter-spacing:0;font-weight:700;color:#456e82;margin-top:9px;text-decoration:none}.matrix-table .feature-count{white-space:nowrap}
