/* Shipping page styles */
.route-table-wrap { max-height: 520px; overflow-y: auto; margin-top: 8px; }
.route-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.route-table th { position: sticky; top: 0; background: rgba(26, 29, 39, 0.98); text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--border); cursor: pointer; user-select: none; color: var(--text-dim); font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.03em; z-index: 1; }
.route-table th:hover { color: var(--text); }
.route-table th .sort-arrow { margin-left: 3px; font-size: 0.6rem; }
.route-table td { padding: 5px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.route-table tr:hover { background: rgba(255,255,255,0.03); }
.route-table tr.active { background: rgba(52,211,153,0.1); }
.route-table .vol { text-align: right; font-variant-numeric: tabular-nums; }
.route-table .days { text-align: right; font-variant-numeric: tabular-nums; }
.stress-indicator { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.filter-chip { padding: 3px 8px; border-radius: 12px; font-size: 0.7rem; border: 1px solid var(--border); cursor: pointer; background: transparent; color: var(--text-dim); }
.filter-chip:hover { border-color: var(--text-dim); }
.filter-chip.active { background: rgba(52,211,153,0.15); border-color: #34d399; color: #34d399; }
/* Base .route-hover-panel rules live in shared/shared.css. This one is shipping-specific. */
.route-hover-panel.visible + .map-legend-html { display: none; }
