.route-tools { min-width: 0; }
.route-tool-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-block: 16px; }
.route-tools .field { min-width: 0; flex: 1; }
.route-tools input, .route-tools select { width: 100%; min-width: 0; scroll-margin-block: 90px; }
.route-tools select { margin-top: 8px; }
.route-tools small { overflow-wrap: anywhere; }
.route-tools .list-row small { display: block; }
.route-tool-map { height: 330px; border-radius: 8px; overflow: hidden; margin-block: 14px; }
.route-hazard { padding: 12px 0; border-bottom: 1px solid var(--line); }
.route-tools summary { cursor: pointer; }
.route-tools .source-text { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 320px; overflow: auto; }
.route-tools .page-actions { flex-wrap: wrap; }
.route-tools td { vertical-align: top; }
@media(max-width:700px) { .route-tool-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .route-tool-map { height:260px; } }
@media(max-width:420px) { .route-tool-fields { grid-template-columns:1fr; } .route-tools .list-row { flex-wrap:wrap; } }
