.route-period-filter { display:flex; gap:12px; align-items:end; flex-wrap:wrap; border-bottom:1px solid #d9e2df; padding-bottom:14px; margin-bottom:14px; }
.route-period-filter label { min-width:150px; }
.route-period-filter.hidden,.route-performance-summary.hidden { display:none; }
.route-performance-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #d9e2df; margin-bottom:12px; padding:12px 0; gap:16px; }
.route-performance-summary>div { display:grid; gap:5px; min-width:0; }
.route-performance-summary strong { font-size:22px; color:#173b30; }
.route-performance-summary small,.route-performance-summary span { font-size:12px; color:#62756e; overflow-wrap:anywhere; }
.route-performance-table { width:100%; min-width:0; table-layout:fixed; }
.route-performance-table th:first-child { width:26%; }
.route-performance-table th:last-child { width:76px; }
.route-performance-table td { vertical-align:middle; white-space:normal; overflow-wrap:anywhere; }
.route-performance-table td small { display:block; margin-top:5px; font-size:12px; color:#667870; }
.route-detail-link { padding:0; border:0; background:none; color:#075e48; font-weight:700; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.route-state { display:inline-block; font-size:12px; color:#145c41; background:#e1f2e9; padding:4px 7px; border-radius:4px; }
.route-state.degraded { color:#81521c; background:#fff1d8; }
.route-state.paused { color:#a32b35; background:#fde9ec; }
#route-performance-dialog { width:min(1040px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 32px); padding:22px; border-radius:8px; }
.route-detail-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:0 0 16px; }
.route-detail-heading strong { font-size:18px; overflow-wrap:anywhere; }
.route-detail-heading span { color:#64756f; }
.route-detail-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:16px 0; border-block:1px solid #d9e2df; }
.route-detail-metrics>div { display:grid; gap:6px; min-width:0; }
.route-detail-metrics strong { font-size:22px; }
.route-detail-metrics small { font-size:12px; color:#64756f; }
.route-detail-section { padding:18px 0; border-bottom:1px solid #d9e2df; }
.route-detail-section h3,.route-state-form h3 { font-size:15px; margin:0 0 12px; }
.route-financials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 22px; margin:0; }
.route-financials>div { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.route-financials dt { font-size:12px; color:#64756f; }
.route-financials dd { margin:0; text-align:right; font-size:13px; overflow-wrap:anywhere; }
.route-failure-list { display:flex; gap:12px; flex-wrap:wrap; }
.route-failure-list span { border-left:3px solid #c87f42; padding-left:8px; font-size:13px; }
.route-trend { max-height:240px; overflow:auto; }
.route-trend .ops-table { min-width:0; width:100%; }
.route-recent-orders { max-height:420px; overflow:auto; }
.route-recent-orders article { padding:12px 0; border-bottom:1px solid #e4eae7; }
.route-recent-orders article>div { display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; font-size:12px; padding-bottom:5px; }
.route-recent-orders code { overflow-wrap:anywhere; }
.route-order-timing summary { font-size:12px; color:#17634b; cursor:pointer; }
.route-order-timing dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; font-size:12px; }
.route-order-timing dt { color:#64756f; }
.route-order-timing dd { margin:4px 0 0; }
.route-state-form { padding:18px 0 0; display:grid; grid-template-columns:180px minmax(0,1fr) auto; gap:12px; align-items:end; }
.route-state-form h3,.route-state-form p { grid-column:1/-1; }
.route-state-form label { min-width:0; }
.route-state-form p { color:#b52d39; font-size:13px; margin:0; }
.country-results .country-route-card { border:1px solid #b8c9c0; border-radius:6px; padding:12px; box-shadow:none; }
.country-results .country-route-card { scroll-margin-top:110px; }
.country-results .route-table { display:grid; gap:6px; border-top:1px solid #d5e0da; }
.country-results .route-row { display:grid; grid-template-columns:64px minmax(0,1fr) 80px auto; align-items:center; gap:12px; border:1px solid #b8c9c0; border-radius:4px; background:#fff; padding:10px 8px; margin:0; }
.country-results .route-row:nth-child(even) { background:#f7faf8; }
.country-results .route-row.has-price-editor { grid-template-columns:64px minmax(0,1fr) 80px auto; }
.country-results .route-row .route-code { min-width:0; }
.country-results .route-row .route-code em { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
.country-results .route-row .route-badges { display:flex; flex-wrap:wrap; gap:5px; }
.country-results .route-price { white-space:nowrap; text-align:right; }
.country-results .speed-badge { width:60px; border-radius:4px; background:#edf1f0; color:#496157; box-shadow:none; }
.country-results .speed-badge.gold { background:#fff0ce; color:#805a1d; }
.country-results .country-quick-buy { min-width:110px; white-space:nowrap; }
@media(max-width:1000px) { .route-performance-table th:first-child{width:23%;}.route-performance-table th,.route-performance-table td{padding:10px 6px;font-size:12px;} }
@media(max-width:700px) {
  .route-performance-summary,.route-detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .route-performance-table thead { display:none; }
  .route-performance-table,.route-performance-table tbody,.route-performance-table tr { display:block; }
  .route-performance-table tr { padding:10px 0; border-bottom:1px solid #c8d7ce; }
  .route-performance-table td { display:flex; justify-content:space-between; align-items:baseline; gap:8px; border:0; padding:6px; }
  .route-performance-table td:first-child { display:block; }
  .route-performance-table td:not(:first-child)::before { content:attr(data-label); color:#65786f; flex-shrink:0; }
  .route-performance-table td small { margin:0 0 0 5px; }
  .route-financials,.route-order-timing dl { grid-template-columns:1fr; }
  .route-state-form { grid-template-columns:1fr; }
  #route-performance-dialog { padding:16px; }
  .country-results .route-row,.country-results .route-row.has-price-editor { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .country-results .route-row .speed-badge { grid-column:1; grid-row:1; }
  .country-results .route-row .route-code { grid-column:1/-1; grid-row:2; width:auto; }
  .country-results .route-row .route-actions { grid-column:1/-1; grid-row:3; justify-content:flex-end; }
  .country-results .route-price { grid-column:2; grid-row:1; font-size:14px; }
  .route-period-filter label { flex:1; min-width:130px; }
}
