/* V227 MoeGo-inspired map and route layout; does not alter appointments */
#workspace .pp-v227-route-head{margin-bottom:12px}
#workspace .pp-v227-route-head h2{margin:0 0 6px;color:#173f32}
#workspace .pp-v227-route-head .muted{line-height:1.5}
#workspace .pp-v227-route-head .pp-route-date-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
#workspace .pp-v227-route-shell{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}
#workspace .pp-v227-route-shell>.pp-v227-route-list{grid-column:1;grid-row:1;min-width:0;max-height:calc(100vh - 260px);overflow:auto;overscroll-behavior:contain}
#workspace .pp-v227-route-shell>.pp-v227-route-map{grid-column:2;grid-row:1;min-width:0;position:sticky;top:12px}
#workspace .pp-v227-route-map #ppGroomerMap,#workspace .pp-v227-route-map #ppAdminMap{min-height:540px;height:min(70vh,760px);border-radius:14px;overflow:hidden}
#workspace .pp-v227-route-list .map-booking-card{border:1px solid #dce5dc;border-radius:12px;margin:0 0 10px;padding:14px;background:#fff}
#workspace .pp-v227-route-list .map-booking-card:focus-within{outline:2px solid #2e6551}
#workspace .pp-v227-route-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
#workspace .pp-v227-route-list-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 12px}
#workspace .pp-v227-route-list-title strong{font-size:16px;color:#173f32}
#workspace .pp-v227-map-switch{display:none;gap:8px;margin:12px 0}
#workspace .pp-v227-map-switch button[aria-pressed="true"]{background:#173f32;color:#fff}
#workspace .pp-v227-route-map .leaflet-container{border-radius:12px}
#workspace .pp-v227-route-shell .pp-route-stop{flex-shrink:0}
#workspace .pp-v227-route-list .map-booking-card .toolbar{margin-top:12px}
@media(max-width:900px){
 #workspace .pp-v227-route-shell{display:flex;flex-direction:column;gap:8px}
 #workspace .pp-v227-route-shell>.pp-v227-route-list,#workspace .pp-v227-route-shell>.pp-v227-route-map{width:100%;max-height:none;overflow:visible;position:static}
 #workspace .pp-v227-map-switch{display:flex}
 #workspace .pp-v227-route-shell[data-v227-view="map"]>.pp-v227-route-list{display:none}
 #workspace .pp-v227-route-shell[data-v227-view="list"]>.pp-v227-route-map{display:none}
 #workspace .pp-v227-route-map #ppGroomerMap,#workspace .pp-v227-route-map #ppAdminMap{height:55vh;min-height:380px}
 #workspace .pp-v227-route-list .map-booking-card{margin-bottom:10px}
}

@media(max-width:900px){#workspace .pp-v227-route-list-title{flex-wrap:wrap}#workspace .pp-v227-route-list-title small{white-space:normal}}

/* Scoped route controls and error wrapping. */
@media(max-width:720px){#workspace .pp-v227-route-head .pp-route-date-nav{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;grid-template-areas:"prev date next" "today today today";min-width:0}#workspace .pp-route-date-input{min-width:0!important;font-size:16px!important}}
#workspace #ppMapStatus .notice,#workspace #ppMapSummary .notice,#workspace #adminMapSummary .notice{display:block;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
