.upstream-coverage { max-width: 1120px; margin: 0 auto; padding: 32px 24px 48px; color: #25292d; letter-spacing: 0; }
.coverage-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.coverage-header h1 { font-size: 28px; margin: 16px 0 0; }
.coverage-totals, .coverage-notice { color: #5c646b; font-size: 14px; }
.coverage-totals { margin: 0; }
.coverage-notice { margin: 16px 0 24px; }
.coverage-filters { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, 200px) 44px; align-items: end; gap: 12px; margin-bottom: 24px; }
.coverage-filters label { font-size: 13px; font-weight: 600; min-width: 0; }
.coverage-filters input, .coverage-filters select { display: block; width: 100%; height: 44px; margin-top: 6px; border: 1px solid #c8ced3; border-radius: 6px; padding: 0 12px; background: #fff; color: #25292d; font-size: 15px; }
.coverage-filters button, .coverage-pagination a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #c8ced3; border-radius: 6px; background: #f4f6f7; color: #235a85; }
.coverage-filters :focus-visible, .coverage-pagination a:focus-visible { outline: 3px solid #218477; outline-offset: 3px; }
.coverage-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.coverage-table th, .coverage-table td { text-align: left; padding: 12px; border-bottom: 1px solid #e1e5e8; overflow-wrap: anywhere; font-size: 14px; }
.coverage-table th { color: #59616a; background: #f4f6f7; font-size: 13px; }
.coverage-table th:first-child { width: 44%; }
.coverage-table small { display: block; color: #68717a; font-size: 12px; margin-top: 4px; }
.coverage-status { color: #6b5860; }
.coverage-status.is-allowed { color: #177267; }
.coverage-table .coverage-empty { text-align: center; padding: 36px 12px; color: #68717a; }
.coverage-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; min-height: 60px; margin-top: 16px; font-size: 14px; }
@media (max-width: 600px) {
    .upstream-coverage { padding: 24px 16px 32px; }
    .coverage-header h1 { font-size: 24px; }
    .coverage-filters { grid-template-columns: minmax(0, 1fr) 44px; }
    .coverage-filters label:first-of-type { grid-column: 1 / -1; }
    .coverage-table th, .coverage-table td { padding: 10px 6px; font-size: 12px; }
    .coverage-table th:first-child { width: 38%; }
}
