.sidebar{position:relative}
.map-recheck{position:absolute;z-index:12;left:26px;top:145px;border:1px solid #8aa75e;background:#20351ced;color:#d8efb3;padding:11px 14px;border-radius:10px;font-size:12px;box-shadow:0 3px 15px #0005}
.map-recheck[aria-pressed=true]{background:#c4e86b;color:#1b2a11;border-color:#d5f89c}
.route-active .topbar,.route-active .map-recheck{display:none}
.route-active main{height:100vh;height:100dvh}
.route-active .side-top,.route-active #results,.route-active .side-bottom{visibility:hidden;pointer-events:none}
.route-panel{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;background:#172113;color:#dcebd0;overflow:hidden}
.route-panel[hidden]{display:none}
.route-panel-head{position:relative;padding:10px 12px;border-bottom:1px solid #3c5130;flex-shrink:0}
.route-panel-title{position:absolute;top:6px;right:9px}
.route-panel-title .eyebrow,#route-group-title,#route-current-title{display:none}
.route-panel-title .close-button{font-size:24px;width:30px;height:30px}
.route-panel-head p{font-size:11px;line-height:1.4;color:#a9c58f;margin:0;padding-right:30px}
.route-view-buttons{display:flex;gap:7px;margin-top:7px}
.route-view-buttons button{font-size:10px;padding:7px 9px}
.route-list{flex:1;min-height:64px;overflow:auto;padding:5px 7px;scrollbar-width:thin;scrollbar-color:#5b7845 transparent}
.route-item{display:flex;width:100%;align-items:center;gap:7px;background:none;color:#c8dcba;border:1px solid transparent;border-radius:7px;padding:7px;text-align:left;margin:2px 0}
.route-item.current{border-color:var(--route-color,#c4e86b);background:#34452b}
.route-item.done .route-item-position{background:#3b6040;color:#dcffe1}
.route-item.changed .route-item-state,.route-item.unsaved .route-item-state{color:#f3c48b}
.route-item-position{width:23px;height:23px;display:grid;place-items:center;background:#25331f;border-radius:6px;color:#c9deae;font-size:11px;flex-shrink:0}
.route-item-text{flex:1;min-width:0;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-item-state{font-size:9px;color:#a9ce86;flex-shrink:0;max-width:43px}
#route-form{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:58%}
.route-current-card{padding:9px 12px;border-top:1px solid #405334;background:#1d2b17;min-height:0;flex:1;overflow:auto;scrollbar-width:thin}
.route-current-card:not(.editing-owners){flex:none}
.route-step{font-size:10px;color:#9ebd82;margin-bottom:4px}
.route-owner-summary{font-size:12px;line-height:1.4;color:#d0e5bb;overflow-wrap:anywhere}
.route-owner-summary>div+div{margin-top:4px}
.route-owner-summary small{font-size:10px;color:#97b180}
.route-last-check{font-size:9px;line-height:1.4;color:#89a574;margin:5px 0}
.route-edit{font-size:10px;padding:7px 10px;margin-top:7px}
.route-object{padding:8px 0;border-top:1px solid #3c5030}
.route-object>strong{display:block;font-size:11px;line-height:1.4;color:#bed5a7;font-weight:500;margin-bottom:7px;overflow-wrap:anywhere}
.route-object-inputs{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px}
.route-object-inputs label{font-size:10px;color:#a9c092;display:flex;flex-direction:column;gap:5px;min-width:0}
.route-object-inputs input,.route-object-inputs select{background:#101b0d;border:1px solid #526c3e;border-radius:7px;color:#e3f0d7;padding:9px;font:inherit;font-size:11px;min-width:0;width:100%;box-sizing:border-box}
.route-current-card:not(.editing-owners) #route-object-fields,.route-current-card:not(.editing-owners) #route-reset,.route-current-card.editing-owners #route-owner-summary,.route-current-card.editing-owners #route-current-checked{display:none}
.route-panel-footer{padding:9px 12px;border-top:1px solid #435833;background:#172113;flex-shrink:0}
.route-navigation{display:flex;gap:8px;margin-bottom:7px}
.route-navigation button{flex:1;padding:9px;font-size:11px;min-height:35px}
.route-panel-footer>.primary{width:100%;font-size:12px;padding:10px;min-height:38px}
.route-reset{font-size:10px;margin-top:7px}
.route-panel .error{font-size:11px;line-height:1.4;margin:3px 0 8px}
.route-complete{padding:7px 9px;background:#34522a;color:#d5f3bb;border:1px solid #719c51;font-size:11px;line-height:1.4;margin:7px 0 0;border-radius:7px}
.route-complete[hidden]{display:none}
#route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}
#markers{z-index:2}
.marker.route-unrelated{opacity:.14;filter:saturate(.4)}
.marker.route-current{outline:3px solid #f1f9dd;outline-offset:2px;box-shadow:0 0 0 7px #d9ff9635}
.route-number{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);display:grid;place-items:center;min-width:20px;height:20px;padding:0 3px;border-radius:7px;background:#182612;border:1px solid var(--group-color,#c4e86b);color:#f0f9e6;font-size:11px;line-height:1;font-weight:700;box-shadow:0 2px 7px #000a}
.route-current .route-number{background:#e4f8bd;color:#17270e;border-color:#f3ffe0}
.route-checked:not(.route-current) .route-number{background:#365b36;color:#dcffdf;border-color:#91bf7e}
.route-active .marker .marker-label{bottom:auto;top:calc(100% + 5px)}
.route-group-choices{padding:18px 24px}
.route-group-choice{display:block;width:100%;padding:13px;background:#263b1e;border:1px solid #5d7c42;border-radius:8px;color:#d9efc1;text-align:left;font-size:14px;margin:7px 0}
.route-group-choice small{display:block;color:#9ebc83;font-size:11px;margin-top:6px}
@media(max-width:720px){
  .map-recheck{top:12px;left:12px;font-size:11px;padding:10px 12px}
  .route-active main{flex-direction:column}
  .route-active .sidebar{height:55%!important}
  .route-active .map-section{height:45%;flex:1}
  .route-panel-head{padding:8px 11px}
  .route-panel-head p{font-size:10px}
  .route-view-buttons{margin-top:6px;gap:6px}
  .route-view-buttons button{min-height:32px}
  .route-list{min-height:48px;padding:4px 6px}
  .route-item{padding:6px 5px;min-height:35px}
  .route-item-text{font-size:11px}
  .route-current-card{padding:7px 11px}
  .route-panel-footer{padding:7px 11px}
  .route-navigation{margin-bottom:6px}
  .route-navigation button{min-height:38px;padding:8px}
  .route-panel-footer>.primary{min-height:40px;font-size:12px;padding:9px}
  .route-edit{min-height:34px}
  .route-object-inputs input,.route-object-inputs select{font-size:16px;padding:8px}
  .route-number{min-width:17px;height:17px;font-size:10px}
  .route-active .marker-settings{right:10px}
}
