.summary-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.summary-table th, .summary-table td { padding: .6rem .7rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.summary-table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); border-bottom: 2px solid var(--line); white-space: nowrap; }
.summary-table th[data-sort] { cursor: pointer; }
.summary-table th[data-sort]:hover { color: var(--blue); }
.summary-table th[aria-sort="ascending"]::after { content: " \25b2"; color: var(--blue); font-size: .7em; }
.summary-table th[aria-sort="descending"]::after { content: " \25bc"; color: var(--blue); font-size: .7em; }
.summary-table th.num, .summary-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.summary-table tbody tr.clickable { cursor: pointer; }
.summary-table tbody tr.clickable:hover { background: var(--blue-pale); }
.summary-table tbody tr.selected { background: #f8fbff; box-shadow: inset 3px 0 0 var(--blue); }
.summary-table tbody tr.clickable:focus-visible { outline: 3px solid #f59e0b; outline-offset: -2px; }
.metric-empty { color: var(--muted); }
.table-wrap { overflow-x: auto; }
.detail-select-label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 650; font-size: .9rem; }
.detail-select-label select { width: auto; margin-top: 0; min-width: 13rem; }
.empty-state-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
