.routes-workspace { display: grid; gap: 14px; width: min(1480px, 100%); }
.recruitment-subnav { display: flex; gap: 8px; border-bottom: 1px solid var(--line); }
.recruitment-subnav a { padding: 10px 14px; color: var(--muted); text-decoration: none; border-bottom: 3px solid transparent; }
.recruitment-subnav a.active { color: var(--brand); border-color: var(--brand); font-weight: 700; }
.route-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 10px; }
.route-summary article { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px; display: grid; gap: 4px; }
.route-summary span { color: var(--muted); font-size: 12px; }
.route-summary strong { font-size: 22px; }
.route-config-state { background: #f8fafc; border: 1px solid var(--line); border-radius: 8px; padding: 10px; color: var(--muted); }
.route-filter-grid, .route-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 10px; align-items: end; }
.route-panel-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.route-panel-head h2 { margin: 0; }
.route-admin-card summary { cursor: pointer; font-weight: 700; margin-bottom: 12px; }
.route-drop { border: 1px dashed var(--brand); border-radius: 8px; padding: 10px; }
.route-file-list { display: grid; gap: 6px; grid-column: 1 / -1; }
.route-file-list label { grid-template-columns: minmax(0, 1fr) 210px; align-items: center; }
.route-status { display: inline-block; border-radius: 999px; padding: 3px 8px; background: #e5e7eb; font-size: 12px; }
.route-status-published, .route-status-completed { background: #dcfce7; color: #166534; }
.route-status-review_required, .route-status-completed_with_warnings { background: #fef3c7; color: #92400e; }
.route-status-failed { background: #fee2e2; color: #991b1b; }
.route-version { border: 1px solid var(--line); border-radius: 8px; padding: 12px; margin-top: 10px; }
.route-review-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 16px; }
.route-source { display: grid; gap: 6px; padding: 10px; margin-top: 8px; border: 1px solid var(--line); border-radius: 8px; }
.route-fields, .route-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.route-stops { display: grid; gap: 6px; }
.route-recommendations { display: grid; gap: 8px; grid-column: 1 / -1; }
.route-recommendation { display: grid; gap: 3px; border-left: 4px solid var(--brand); padding: 9px 12px; background: #f8fafc; }
@media (max-width: 720px) { .route-panel-head { align-items: flex-start; flex-direction: column; } .route-file-list label, .route-review-grid { grid-template-columns: 1fr; } }
