.hour-ring{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--ring-color,#327856) var(--ring-value,0%),#e0e8dc 0);font-size:10px;position:relative;color:#193d33;flex:none}.hour-ring:before{content:'';position:absolute;inset:5px;border-radius:50%;background:white}.hour-ring span{position:relative;color:var(--load-ink,#193d33);font-weight:700}.hour-ring.unknown{background:#e0e8dc}.hour-cell{display:flex;align-items:center;gap:10px}.ops-source{font-size:12px;max-width:260px;overflow-wrap:anywhere}.ops-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ops-controls label{font-size:11px}.ops-controls input,.ops-controls select{font-size:11px;padding:5px;width:auto}.ops-scope{font-size:11px;color:#526d5a;max-width:380px}.condition-tags{display:flex;flex-wrap:wrap;gap:6px}.condition-tags span{font-size:11px;padding:4px 7px;background:#edf1e5;border-radius:4px}.ops-error{color:#9d342d}.operations-file{font-size:12px}.ops-map-note{margin:12px 0;padding:12px;border:1px solid #d2dfcc;border-radius:8px}.trail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.route-layout{display:grid;grid-template-columns:330px 1fr;gap:20px}.route-directory{max-height:700px;overflow:auto}.route-button{display:block;width:100%;text-align:left;border:1px solid #d2dfcc;background:white;border-radius:10px;padding:16px;margin-bottom:8px;cursor:pointer;color:#234a39}.route-button[aria-pressed=true]{border:2px solid #29644a;background:#eef4e6}.route-button strong,.route-button span{display:block}.route-button span{font-size:12px;margin-top:7px}.route-map{height:470px;background:#e5eddf;border-radius:12px;overflow:hidden}.route-map>svg{width:100%;height:100%}.route-detail h2{font-size:24px}.route-facts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.route-facts span{background:#e6eddf;border-radius:6px;padding:8px 12px;font-size:13px}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.decision-card{background:#fff;border:1px solid #d3dfcd;border-radius:10px;padding:20px}.decision-card h3{font-size:18px}.decision-card p{font-size:13px}.scenario-values{display:grid;grid-template-columns:1fr 1fr;gap:20px}.scenario-values fieldset{border:1px solid #cadbc5;border-radius:10px;padding:18px;background:#fff;min-width:0}.scenario-values label{margin:10px 0}.tour-overlay{position:fixed;inset:0;z-index:9999;background:#f2f5ef;padding:4vw;overflow:auto}.tour-overlay .slide-content{max-width:1100px;margin:auto}.tour-overlay h2{font-size:clamp(30px,5vw,60px);margin:30px 0}.tour-overlay .slide-copy{font-size:22px;max-width:850px}.tour-overlay img{width:150px;float:right}.tour-meter{height:5px;background:#dce5d3;margin:20px 0}.tour-meter div{height:100%;background:#5b8050}.tour-actions{display:flex;gap:12px;align-items:center}.tour-count{margin-left:auto}.route-legend{font-size:12px;color:#526a57}.network-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.network-form label{margin:8px 0}.profile-chart{width:100%;height:160px;background:#eef3e6;border-radius:8px}
@media(max-width:800px){.route-layout,.decision-grid,.trail-specs,.network-form,.scenario-values{grid-template-columns:1fr}.route-directory{max-height:250px}.route-map{height:330px}.tour-overlay .slide-copy{font-size:18px}.tour-overlay img{width:85px}.hour-cell{gap:5px}.hour-ring{width:40px;height:40px}.tablewrap table{min-width:750px}}
.dimension-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.dimension-directory{max-height:850px;overflow:auto}.dimension-layout h2{font-size:23px;line-height:1.4}.dimension-layout details{margin:16px 0;border-top:1px solid #d6e2d1;padding-top:12px}.dimension-layout table{font-size:12px}.dimension-layout td{max-width:360px;overflow-wrap:anywhere}.dimension-layout summary{cursor:pointer;line-height:1.5;font-size:13px;font-weight:600}.dimension-layout .workspace{padding:22px}.run-mascot img{width:48px;height:48px;object-fit:contain}.route-map{position:relative}.no-route-geometry{position:absolute;inset:0;z-index:600;display:grid;place-content:center;padding:60px;background:#e5eddfed;color:#1d4535;text-align:center;font-size:19px;line-height:1.5}.compact-title{font-size:18px;margin:0 0 14px}.decision-card ul{padding-left:18px;font-size:13px;line-height:1.7}.research-shortcuts{display:flex;gap:9px 18px;flex-wrap:wrap;margin-top:14px}.research-shortcuts a{font-size:12px;color:#255e48;font-weight:600}.timebar{right:18px;flex-wrap:wrap;width:auto}.timebar .ops-controls{width:100%;border-top:1px solid #e5ecdf;padding-top:5px}.timebar .ops-controls label{display:flex;gap:5px;align-items:center}.timebar .ops-controls select{width:150px}.timebar input{max-width:150px}#detail{top:174px}.ops-map-note a{color:#245d45}header nav{min-width:0}.trail-specs .tablewrap{overflow:auto}.trail-specs table{font-size:12px}.trail-specs th,.trail-specs td{padding:8px}.trail-specs details{margin:15px 0}.trail-specs summary{cursor:pointer}.trail-specs h3{font-size:21px}.route-map>svg{width:100%;height:100%}.route-map .leaflet-overlay-pane svg{width:auto;height:auto}
@media(max-width:850px){.dimension-layout{grid-template-columns:1fr}.dimension-directory{max-height:230px}.dimension-layout .workspace{padding:15px}.timebar{right:10px;left:10px}.timebar .ops-controls{gap:6px}.timebar .ops-controls label{font-size:10px}.timebar .ops-controls select{width:135px}#detail{top:215px}.no-route-geometry{padding:25px;font-size:16px}.dimension-layout table{min-width:620px}.trail-specs table{min-width:400px}}
.no-route-geometry.point-only{inset:auto 12px 12px;padding:12px;font-size:13px;border-radius:8px;pointer-events:none}.document-supplement{padding:22px;background:#e6efdd;border-radius:12px}.document-supplement h2{margin-top:0}.document-supplement p{font-size:13px}.repair-list pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.route-detail .button{margin:4px 0}.route-directory .route-button{scroll-margin-top:8px}
[hidden]{display:none!important}

.load-number{color:var(--load-ink,#48564e);background:var(--load-tint,#edf0ee);border-left:4px solid var(--load-color,#89958e);padding:3px 8px;border-radius:4px;width:fit-content}.load-scale-key{display:flex;flex-wrap:wrap;gap:5px 12px;margin:10px 0;font:11px/1.5 Arial,sans-serif}.load-scale-key>span{display:inline-flex;align-items:center;gap:5px;color:#344d40;white-space:nowrap}.load-scale-key i{display:inline-block!important;width:9px!important;height:9px!important;margin:0!important;border-radius:50%;background:var(--load-color,#89958e);flex:none}.load-legend .load-scale-key{max-width:290px;margin:6px 0 3px}.occupancy-panel .load-scale-key{font-size:10px}
