.route-coverage { margin-block: 1.5rem; padding: 1.5rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); }
.route-coverage > summary { cursor: pointer; font-size: 1.125rem; font-weight: 650; min-height: 44px; }
.route-coverage p { max-width: 75ch; line-height: 1.5; }
.rc-filters { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(160px, 1fr)); gap: 16px; align-items: start; margin-block: 24px 16px; }
.rc-filters label { display: grid; gap: 8px; min-width: 0; }
.rc-filters input, .rc-filters select { box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; padding: 10px 14px; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: 8px; }
.rc-filters select { padding-right: 32px; }
.rc-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-block: 16px; }
.route-coverage .btn { min-height: 44px; white-space: normal; }
.route-coverage :focus-visible { outline: 2px solid var(--experience-focus, currentColor); outline-offset: 3px; }
.rc-state { min-height: 3rem; margin-block: 16px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 8px; }
.rc-state[data-error="true"] { color: var(--danger, #a32323); background: var(--danger-bg, #fff1f1); border-color: var(--danger, #a32323); }
.rc-meta { color: var(--text-2); font-variant-numeric: tabular-nums; }
.rc-scroll { overflow: auto; max-width: 100%; scrollbar-gutter: stable; }
.route-coverage .rc-table { width: 100%; min-width: 960px; table-layout: auto; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rc-table caption { text-align: left; padding-block: 12px; }
.rc-table th, .rc-table td { padding: 16px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.rc-table th { font-weight: 650; }
.rc-table td:first-child { min-width: 130px; }
.rc-table th:nth-child(2), .rc-table td:nth-child(2) { min-width: 180px; }
.rc-table th:nth-child(3), .rc-table td:nth-child(3) { min-width: 180px; overflow-wrap: normal; word-break: normal; }
.rc-scroll-hint { display: none; color: var(--text-2); }
.rc-table td:last-child { min-width: 280px; }
.rc-table ul { margin: 8px 0; padding-left: 20px; }
.rc-table li + li { margin-top: 8px; }
.rc-table small { display: block; margin-top: 8px; color: var(--text-2); }
@media (max-width: 900px) { .rc-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } .rc-scroll-hint { display: block; } }
@media (max-width: 540px) { .route-coverage { padding: 16px; } .rc-filters { grid-template-columns: minmax(0,1fr); } }
