:root{--map-ui:#062235;--map-ui-2:#0a3148;--map-line:#2d6b8b;--map-accent:#22a9e0;--map-text:#eefaff;--map-muted:#9fc0d1;--bottom-h:58px}
html,body,#map{width:100%;height:100%;margin:0;background:#071725;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{overflow:hidden}.mapboxgl-ctrl-logo,.mapboxgl-ctrl-attrib{font-size:10px}.mapboxgl-ctrl-bottom-right{bottom:calc(var(--bottom-h) + 7px)}body.embed-detail .mapboxgl-ctrl-bottom-right,body.embed-route .mapboxgl-ctrl-bottom-right{bottom:7px}
.graffiti-map-controls{position:absolute;right:10px;top:10px;z-index:30;display:flex;gap:7px;align-items:flex-start}.map-control-btn{height:42px;border:1px solid rgba(95,137,163,.8);border-radius:12px;background:rgba(5,29,45,.95);color:#eaf7ff;font-weight:900;letter-spacing:.04em;padding:0 12px;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer}.map-control-btn:hover{background:#0b3854}.icon-btn{width:42px;padding:0;font-size:20px}.base-btn{min-width:76px}.street-view-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;min-width:44px}.street-view-btn img{width:23px;height:27px;object-fit:contain}.street-view-btn span{font-size:8px;line-height:1.05}.street-view-btn.is-armed{outline:2px solid #ffd34e;background:#124764}
.mode-panel{position:absolute;left:10px;bottom:calc(var(--bottom-h) + 10px);z-index:31;width:min(310px,calc(100% - 20px));box-sizing:border-box;padding:10px;border:1px solid #285a74;border-radius:14px;background:rgba(5,28,43,.97);color:#e9f7ff;box-shadow:0 10px 30px rgba(0,0,0,.34)}.mode-panel-title{display:flex;justify-content:space-between;align-items:center;color:#75d0ff;font-size:11px;font-weight:900;letter-spacing:.08em;padding:2px 5px 8px}.panel-close{border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}.mode-panel label{display:flex;align-items:center;gap:10px;padding:9px 7px;border-top:1px solid rgba(80,126,150,.27);font-size:12px;cursor:pointer}.mode-panel label input{width:17px;height:17px;accent-color:#169dd4}.mode-panel label span{display:grid;gap:1px}.mode-panel label b{font-size:12px}.mode-panel label small,.field-note{color:#89aebe;font-size:10px}.field-note{border-top:1px solid rgba(80,126,150,.27);padding:9px 7px 2px}.layer-status{min-height:0;padding:0 7px;color:#f5d573;font-size:10px}.layer-status:not(:empty){padding-top:8px;border-top:1px solid rgba(80,126,150,.27)}
.graffiti-bottom-nav{position:absolute;z-index:28;left:0;right:0;bottom:0;height:var(--bottom-h);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(4,24,37,.97);border-top:1px solid #275b74;box-shadow:0 -5px 20px rgba(0,0,0,.28);padding-bottom:env(safe-area-inset-bottom)}.graffiti-bottom-nav button{border:0;border-right:1px solid rgba(77,130,157,.22);background:transparent;color:#9dbdcc;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:10px;letter-spacing:.05em}.graffiti-bottom-nav button:last-child{border-right:0}.graffiti-bottom-nav button.is-active{background:#0b3a55;color:#fff;box-shadow:inset 0 3px #1fb1e7}.nav-icon{font-size:17px;line-height:1}
.token-notice{position:absolute;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 40px));box-sizing:border-box;padding:20px;border:1px solid #2a82b5;border-radius:14px;background:#061f30;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.5);text-align:center}.token-notice b{display:block;font-size:19px;margin-bottom:7px}.token-notice span{display:block;color:#b7cfdd;font-size:13px}.token-notice code{color:#70ceff}
.job-marker{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-sizing:border-box;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));user-select:none;background:#0a6ea8;border:3px solid #fff;font-size:17px}.job-marker.completed{background:#17824e}.job-marker.request{background:#9b5f12}.job-marker.callout{background:#a52d35}.selected-marker{width:28px;height:38px;position:relative;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));cursor:grab}.selected-marker:active{cursor:grabbing}.selected-marker .pin-shape{display:block;position:absolute;left:3px;top:1px;width:22px;height:22px;background:#1288c0;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-sizing:border-box;box-shadow:0 0 0 3px rgba(18,136,192,.2)}.selected-marker .pin-shape:after{content:"";position:absolute;left:6px;top:6px;width:5px;height:5px;border-radius:50%;background:#fff}.graffiti-popup{font-family:inherit;min-width:180px}.graffiti-popup b{font-size:14px}.graffiti-popup small{display:block;margin-top:4px;color:#586a74}.graffiti-popup .popup-street{margin-top:8px;width:100%;height:30px;border:0;border-radius:7px;background:#0c78a8;color:#fff;font-weight:800;cursor:pointer}.mapboxgl-popup-content{border-radius:11px;padding:11px 13px}.mapboxgl-popup-close-button{font-size:20px;padding:3px 6px}
.street-placement{position:absolute;inset:0;z-index:80;background:rgba(1,12,20,.12);cursor:crosshair}.street-placement-target{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:grid;justify-items:center;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.6))}.street-placement-target img{width:34px;height:42px;object-fit:contain}.street-placement-target span{margin-top:3px;background:rgba(2,26,40,.92);border:1px solid #6acaf4;border-radius:8px;color:#fff;padding:4px 7px;font-size:8px;font-weight:900;white-space:nowrap}.street-placement button{position:absolute;left:50%;bottom:calc(var(--bottom-h) + 12px);transform:translateX(-50%);border:1px solid #6acaf4;border-radius:9px;background:#06283b;color:#fff;font-weight:900;padding:8px 16px;cursor:pointer}
body.embed-detail .graffiti-bottom-nav,body.embed-route .graffiti-bottom-nav{display:none}body.embed-detail .mode-panel,body.embed-route .mode-panel{display:none!important}body.embed-detail #locateBtn,body.embed-route #locateBtn{display:none}.body-night{}
body[data-theme="night"] .mapboxgl-popup-content{background:#082437;color:#fff}body[data-theme="night"] .mapboxgl-popup-tip{border-top-color:#082437!important}
@media(max-width:700px){:root{--bottom-h:54px}.graffiti-map-controls{right:8px;top:8px;gap:5px}.map-control-btn{height:40px;border-radius:11px}.icon-btn{width:40px}.base-btn{min-width:68px;padding:0 9px;font-size:10px}.street-view-btn{width:40px;min-width:40px;padding:0}.street-view-btn span{display:none}.street-view-btn img{width:22px}.mode-panel{left:8px;bottom:calc(var(--bottom-h) + 8px);width:calc(100% - 16px)}.graffiti-bottom-nav button{font-size:9px;gap:5px}.nav-icon{font-size:15px}}

/* v31: legacy Field Map popup behavior + embedded Google Street View */
.street-view-container{position:fixed;inset:0;z-index:10000;background:#fff}.street-view-container[hidden]{display:none!important}.street-view-frame{width:100%;height:100%;border:0}.back-to-map{position:absolute;top:16px;left:16px;z-index:10001;padding:10px 16px;border:1px solid #777;border-radius:7px;background:#fff;color:#18232b;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.agreement-popup{width:min(390px,calc(100vw - 76px));max-height:390px;max-width:100%;overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word;font-family:Arial,sans-serif;color:#333}.agreement-popup *{max-width:100%;overflow-wrap:anywhere}.agreement-popup-title{margin-bottom:8px;color:#7a4b00;font-size:16px;font-weight:bold}.agreement-popup-count{margin-bottom:9px;color:#555;font-size:12px}.agreement-card{margin-bottom:10px;padding:10px;border:1px solid #e1c078;border-radius:6px;background:#fffaf0;color:#333;font-size:13px;line-height:1.4}.agreement-card:last-child{margin-bottom:0}.agreement-card-heading{margin-bottom:5px;font-size:14px;font-weight:bold}.agreement-responsibility{margin-bottom:7px;padding:6px 7px;border-radius:4px;background:#ffe7ac;color:#5c3a00;font-weight:bold}.row-disclaimer{margin-top:8px;color:#666;font-size:11px;font-style:italic}.row-record-details{margin-top:7px}.row-record-details summary{cursor:pointer;font-weight:700}.camera-popup-link{display:inline-block;margin-top:8px;padding:6px 9px;border-radius:4px;background:#0877c9;color:#fff!important;font-size:12px;font-weight:bold;text-decoration:none}.popup-actions-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid #ddd}.popup-action{border:0;border-radius:7px;background:#0877c9;color:#fff;font-size:11px;font-weight:800;padding:7px 10px;cursor:pointer}.popup-action:hover{filter:brightness(1.06)}
.job-info-popup{width:min(340px,calc(100vw - 76px));font-family:Arial,sans-serif;color:#2d2d2d}.job-info-popup-title{font-size:15px;font-weight:800;color:#0b536b;margin-bottom:8px}.job-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.job-info-item span{display:block;color:#68757c;font-size:10px;font-weight:700;text-transform:uppercase}.job-info-item b{display:block;margin-top:2px;font-size:12px;overflow-wrap:anywhere}
.county-line-marker{position:relative;width:66px;height:28px;display:flex;align-items:center;justify-content:center;gap:3px;border:2px solid #fff;border-radius:7px;background:#0b5576;color:#fff;font:800 11px/1 Arial,sans-serif;box-shadow:0 2px 7px rgba(0,0,0,.38);cursor:pointer}.county-line-marker b{opacity:.65}.county-line-marker .county-tooltip{display:none;position:absolute;left:50%;bottom:34px;transform:translateX(-50%);min-width:165px;padding:7px 9px;border-radius:7px;background:rgba(20,28,34,.95);color:#fff;font:12px/1.35 Arial,sans-serif;text-align:left;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.35);pointer-events:none}.county-line-marker:hover .county-tooltip{display:block}.county-crossing-popup{font-family:Arial,sans-serif;font-size:13px;line-height:1.4;color:#333}.county-crossing-popup>strong{display:block;color:#0b536b;font-size:15px;margin-bottom:4px}
body[data-theme="night"] .agreement-popup{color:#e9f7ff}body[data-theme="night"] .agreement-popup-title{color:#ffd27c}body[data-theme="night"] .agreement-popup-count,body[data-theme="night"] .row-disclaimer{color:#b9cbd5}body[data-theme="night"] .agreement-card{background:#0c3045;border-color:#6c5832;color:#eefaff}body[data-theme="night"] .agreement-responsibility{background:#453716;color:#ffe8a9}body[data-theme="night"] .job-info-popup{color:#eefaff}body[data-theme="night"] .job-info-popup-title{color:#77d4ff}body[data-theme="night"] .job-info-item span{color:#9cb9c8}body[data-theme="night"] .county-crossing-popup{color:#eefaff}body[data-theme="night"] .county-crossing-popup>strong{color:#77d4ff}


/* Request-mode Mapbox address search */
.request-map-search{position:absolute;z-index:24;top:12px;left:12px;width:min(430px,calc(100% - 150px));font-family:Inter,Segoe UI,Arial,sans-serif}
.request-map-search-form{height:44px;display:flex;align-items:center;gap:8px;padding:4px 5px 4px 12px;border:1px solid rgba(25,74,102,.35);border-radius:11px;background:rgba(255,255,255,.97);box-shadow:0 4px 18px rgba(7,25,38,.20)}
.request-search-icon{font-size:21px;color:#376176}.request-map-search input{min-width:0;flex:1;height:34px;border:0;outline:0;background:transparent;color:#102a3a;font-size:14px}
.request-map-search input::placeholder{color:#718894}.request-map-search button{height:34px;padding:0 12px;border:0;border-radius:8px;background:#0877c9;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em;cursor:pointer}
.request-map-search-results{margin-top:6px;max-height:220px;overflow:auto;border:1px solid #bed0da;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(3,22,34,.28)}
.request-map-search-result{display:block;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #e3ebef;background:#fff;color:#173747;text-align:left;cursor:pointer}
.request-map-search-result:last-child{border-bottom:0}.request-map-search-result b,.request-map-search-result small{display:block}.request-map-search-result b{font-size:13px}.request-map-search-result small{margin-top:2px;color:#6c818c;font-size:11px}.request-map-search-status{padding:11px 12px;color:#607987;font-size:12px}
body.theme-night .request-map-search-form,body.theme-night .request-map-search-results,body.theme-night .request-map-search-result{background:#082334;color:#eaf7ff;border-color:#244b61}
body.theme-night .request-map-search input{color:#fff}body.theme-night .request-map-search input::placeholder{color:#8fa9b8}body.theme-night .request-map-search-result small{color:#9fb7c3}
@media(max-width:650px){.request-map-search{top:9px;left:9px;width:calc(100% - 92px)}.request-map-search button{padding:0 9px;font-size:10px}.request-map-search input{font-size:13px}}

/* v33 Mapbox search/control layout + app-aware themes */
.map-search-toggle{position:absolute;z-index:35;top:10px;right:10px;width:44px;height:44px;border:1px solid rgba(25,74,102,.34);border-radius:12px;background:rgba(255,255,255,.96);color:#15394d;font-size:25px;line-height:1;box-shadow:0 4px 18px rgba(7,25,38,.18);cursor:pointer}
.request-map-search{top:10px!important;left:10px!important;right:62px!important;width:auto!important;max-width:520px}
.request-map-search-form{padding-left:6px!important}
.request-map-search select{height:34px;max-width:112px;border:0;border-right:1px solid #d7e2e8;background:transparent;color:#244659;font-size:10px;font-weight:900;outline:0;padding:0 6px}
.graffiti-map-controls{top:62px!important;right:10px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:7px!important}
.graffiti-map-controls .map-control-btn{margin:0!important;box-shadow:0 4px 14px rgba(7,25,38,.18)}
.graffiti-map-controls .base-btn{width:76px;min-width:76px}
.graffiti-map-controls .street-view-btn{width:76px;min-width:76px}
.graffiti-map-controls .icon-btn{width:44px;align-self:flex-end}
body[data-theme="day"] .map-control-btn,body[data-theme="day"] .map-search-toggle{background:rgba(255,255,255,.96)!important;color:#12384b!important;border-color:rgba(35,79,101,.28)!important}
body[data-theme="day"] .graffiti-bottom-nav{background:rgba(246,251,254,.97)!important;border-top-color:#b8cfda!important}
body[data-theme="day"] .graffiti-bottom-nav button{color:#486b7c!important;border-right-color:#d5e3ea!important}
body[data-theme="day"] .graffiti-bottom-nav button.is-active{background:#e4f3fb!important;color:#0b5274!important;box-shadow:inset 0 3px #148ec0!important}
body[data-theme="day"] .mode-panel{background:rgba(250,253,255,.98)!important;color:#183d50!important;border-color:#aac9d8!important}
body[data-theme="day"] .mode-panel-title{color:#0d729f!important}body[data-theme="day"] .panel-close{color:#294e60!important}body[data-theme="day"] .mode-panel label{border-top-color:#d6e5ec!important}body[data-theme="day"] .mode-panel label small,body[data-theme="day"] .field-note{color:#647f8c!important}
body[data-theme="night"] .map-control-btn,body[data-theme="night"] .map-search-toggle{background:rgba(5,31,46,.96)!important;color:#eefaff!important;border-color:#2c617b!important}
body[data-theme="night"] .request-map-search-form,body[data-theme="night"] .request-map-search-results,body[data-theme="night"] .request-map-search-result{background:#082334!important;color:#eaf7ff!important;border-color:#244b61!important}
body[data-theme="night"] .request-map-search input,body[data-theme="night"] .request-map-search select{color:#fff!important}body[data-theme="night"] .request-map-search select{border-right-color:#244b61!important;background:#082334!important}
body[data-theme="night"] .request-map-search input::placeholder{color:#8fa9b8!important}
.direction-marker-label{font-weight:900}
@media(max-width:650px){.map-search-toggle{top:8px;right:8px;width:40px;height:40px}.request-map-search{top:8px!important;left:8px!important;right:56px!important;max-width:none}.request-map-search select{max-width:88px;font-size:9px}.graffiti-map-controls{top:56px!important;right:8px!important}.graffiti-map-controls .base-btn,.graffiti-map-controls .street-view-btn{width:68px;min-width:68px}}
/* Requested compact search layout: tools stack down the left once search is available. */
.graffiti-map-controls{left:10px!important;right:auto!important;align-items:flex-start!important}.graffiti-map-controls .icon-btn{align-self:flex-start!important}
@media(max-width:650px){.graffiti-map-controls{left:8px!important;right:auto!important}}

/* v34 — Search interaction is ONLY for Add CSR and Request. Other maps retain their normal controls. */
body:not(.embed-request):not(.embed-addcsr) #searchToggleBtn,
body:not(.embed-request):not(.embed-addcsr) #requestSearch{display:none!important}

/* Closed state: search icon at upper-left, original map buttons across upper-right. */
body.embed-request .map-search-toggle,
body.embed-addcsr .map-search-toggle{left:10px!important;right:auto!important;top:10px!important}
body.embed-request .graffiti-map-controls,
body.embed-addcsr .graffiti-map-controls{left:auto!important;right:10px!important;top:10px!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:7px!important}
body.embed-request .graffiti-map-controls .map-control-btn,
body.embed-addcsr .graffiti-map-controls .map-control-btn{width:auto!important;min-width:auto!important;align-self:auto!important}
body.embed-request .graffiti-map-controls .base-btn,
body.embed-addcsr .graffiti-map-controls .base-btn{min-width:76px!important}
body.embed-request .graffiti-map-controls .street-view-btn,
body.embed-addcsr .graffiti-map-controls .street-view-btn{min-width:44px!important}
body.embed-request .graffiti-map-controls .icon-btn,
body.embed-addcsr .graffiti-map-controls .icon-btn{width:42px!important;min-width:42px!important}

/* Search opens from the left. Buttons drop into a vertical rail underneath it, then return when closed. */
body.embed-request.search-open .request-map-search,
body.embed-addcsr.search-open .request-map-search{display:block!important;left:62px!important;right:auto!important;top:10px!important;width:min(500px,calc(100% - 74px))!important;max-width:500px!important}
body.embed-request.search-open .graffiti-map-controls,
body.embed-addcsr.search-open .graffiti-map-controls{left:10px!important;right:auto!important;top:62px!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important}
body.embed-request.search-open .graffiti-map-controls .base-btn,
body.embed-addcsr.search-open .graffiti-map-controls .base-btn{width:76px!important;min-width:76px!important}
body.embed-request.search-open .graffiti-map-controls .street-view-btn,
body.embed-addcsr.search-open .graffiti-map-controls .street-view-btn{width:76px!important;min-width:76px!important}
body.embed-request.search-open .graffiti-map-controls .icon-btn,
body.embed-addcsr.search-open .graffiti-map-controls .icon-btn{width:44px!important;min-width:44px!important}

/* All other embedded maps — keep the v31 style: buttons in the upper-right, no search layout changes. */
body.embed-detail .graffiti-map-controls,
body.embed-route .graffiti-map-controls{left:auto!important;right:10px!important;top:10px!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:7px!important}
body.embed-detail .graffiti-map-controls .map-control-btn,
body.embed-route .graffiti-map-controls .map-control-btn{width:auto!important;min-width:auto!important;align-self:auto!important}
body.embed-detail .graffiti-map-controls .base-btn,
body.embed-route .graffiti-map-controls .base-btn{min-width:76px!important}
body.embed-detail .graffiti-map-controls .street-view-btn,
body.embed-route .graffiti-map-controls .street-view-btn{min-width:44px!important}
body.embed-detail .graffiti-map-controls .icon-btn,
body.embed-route .graffiti-map-controls .icon-btn{width:42px!important;min-width:42px!important}

@media(max-width:650px){
 body.embed-request .map-search-toggle,body.embed-addcsr .map-search-toggle{left:8px!important;right:auto!important;top:8px!important;width:40px!important;height:40px!important}
 body.embed-request .graffiti-map-controls,body.embed-addcsr .graffiti-map-controls{right:8px!important;top:8px!important;gap:5px!important}
 body.embed-request.search-open .request-map-search,body.embed-addcsr.search-open .request-map-search{left:56px!important;top:8px!important;width:calc(100% - 64px)!important;max-width:none!important}
 body.embed-request.search-open .graffiti-map-controls,body.embed-addcsr.search-open .graffiti-map-controls{left:8px!important;right:auto!important;top:56px!important}
 body.embed-detail .graffiti-map-controls,body.embed-route .graffiti-map-controls{right:8px!important;top:8px!important;gap:5px!important}
}

/* Full embedded Field Map — Mapbox shell follows the standalone-map control model, with no app header/splash. */
.field-map-toolbar,.field-tools-panel{display:none}
body.embed-fieldmap .graffiti-bottom-nav{display:none!important}
body.embed-fieldmap .mapboxgl-ctrl-bottom-right{bottom:8px!important}
body.embed-fieldmap .request-map-search.field-map-search{display:block!important;top:10px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(560px,calc(100% - 430px))!important;max-width:560px!important}
body.embed-fieldmap .graffiti-map-controls{left:10px!important;right:auto!important;top:10px!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:7px!important}
body.embed-fieldmap .graffiti-map-controls .map-control-btn{width:auto!important;min-width:auto!important;align-self:auto!important}
body.embed-fieldmap .graffiti-map-controls .base-btn{min-width:76px!important}
body.embed-fieldmap .graffiti-map-controls .street-view-btn{min-width:44px!important}
body.embed-fieldmap .graffiti-map-controls .icon-btn{width:42px!important;min-width:42px!important}
body.embed-fieldmap .field-map-toolbar{position:absolute;z-index:35;right:10px;top:10px;display:flex;gap:7px}
body.embed-fieldmap .field-map-toolbar[hidden]{display:none!important}
body.embed-fieldmap .field-map-toolbar button{height:42px;border:1px solid rgba(35,79,101,.30);border-radius:12px;background:rgba(255,255,255,.96);color:#15394d;padding:0 12px;font-size:10px;font-weight:900;letter-spacing:.04em;box-shadow:0 4px 18px rgba(7,25,38,.18);cursor:pointer}
body.embed-fieldmap[data-theme="night"] .field-map-toolbar button{background:rgba(5,31,46,.96);color:#eefaff;border-color:#2c617b}
body.embed-fieldmap #propertyPanel,body.embed-fieldmap #fieldPanel{bottom:auto!important;top:62px!important;width:300px!important}
body.embed-fieldmap #propertyPanel{left:10px!important}
body.embed-fieldmap #fieldPanel{left:320px!important}
body.embed-fieldmap .field-tools-panel{position:absolute;z-index:40;right:10px;top:62px;width:250px;padding:10px;border:1px solid #285a74;border-radius:14px;background:rgba(5,28,43,.97);color:#e9f7ff;box-shadow:0 10px 30px rgba(0,0,0,.34)}
body.embed-fieldmap .field-tools-panel:not([hidden]){display:block}
body.embed-fieldmap .field-tools-panel>button:not(.panel-close){display:block;width:100%;height:40px;margin-top:7px;border:1px solid #32617a;border-radius:9px;background:#0a3148;color:#eefaff;font-weight:900;cursor:pointer}
body.embed-fieldmap .field-tools-panel>button.is-active{outline:2px solid #22a9e0}
@media(max-width:900px){body.embed-fieldmap .request-map-search.field-map-search{left:8px!important;transform:none!important;top:58px!important;width:calc(100% - 16px)!important;max-width:none!important}body.embed-fieldmap .field-map-toolbar{right:8px;top:8px}body.embed-fieldmap .graffiti-map-controls{left:8px;top:8px}body.embed-fieldmap #propertyPanel,body.embed-fieldmap #fieldPanel{left:8px!important;right:8px!important;width:auto!important}body.embed-fieldmap #propertyPanel{top:112px!important}body.embed-fieldmap #fieldPanel{top:370px!important}.field-map-toolbar button b{display:none}}

/* Preserve the established button layout on every non-search screen (job maps, completed, route, MAZEEP, etc.). */
body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls{left:auto!important;right:10px!important;top:10px!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:7px!important}
body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls .map-control-btn{width:auto!important;min-width:auto!important;align-self:auto!important}
body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls .base-btn{min-width:76px!important}
body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls .street-view-btn{min-width:44px!important}
body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls .icon-btn{width:42px!important;min-width:42px!important}
@media(max-width:650px){body:not(.embed-request):not(.embed-addcsr):not(.embed-fieldmap) .graffiti-map-controls{right:8px!important;top:8px!important;gap:5px!important}}

/* v35 job marker icons: open = red spray can, completed = green paint roller */
.job-marker{width:38px!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;cursor:pointer!important}
.job-marker-image{display:block;width:36px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.38));pointer-events:none}
.job-marker.completed .job-marker-image{width:40px;height:44px}
.job-marker-stop{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border:3px solid #fff;border-radius:50%;background:#0877c9;color:#fff;font:900 13px/1 Arial,sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.38)}
.job-marker.route-source-csr .job-marker-stop{background:#2f9d49}
.job-marker.route-source-freelance .job-marker-stop{background:#9a4dca}
.job-marker.route-source-request .job-marker-stop{background:#ef7900}

/* v36 — mobile Field Map style controls + original Address/Postmile search behavior */
.request-map-search{box-sizing:border-box!important;padding:4px!important;display:flex!important;align-items:stretch!important;gap:4px!important;height:50px!important;border:1px solid rgba(7,63,85,.15)!important;border-radius:15px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 5px 18px rgba(4,43,59,.20)!important;overflow:visible!important}
.request-map-search[hidden]{display:none!important}
.request-search-tabs{display:flex;gap:4px;flex:0 0 auto}
.request-search-tab{height:40px;min-width:90px;padding:0 14px;border:1px solid #b9ccd5;border-radius:10px;background:#fff;color:#173a4d;font-size:12px;font-weight:900;cursor:pointer}
.request-search-tab.is-active{border-color:#0e92c7;background:#118fc6;color:#fff}
.request-map-search-form{display:flex!important;flex:1 1 auto;min-width:0;height:40px;gap:4px;margin:0}
.request-map-search-form[hidden]{display:none!important}
.request-map-search-form input,.request-map-search-form select{box-sizing:border-box;height:40px;min-width:0;border:1px solid #bed1d9;border-radius:9px;background:#fff;color:#173a4d;font-size:14px;padding:0 10px;outline:none}
.request-address-row input{flex:1 1 auto}
.request-postmile-row select:nth-child(1){flex:0 0 21%;max-width:130px}.request-postmile-row select:nth-child(2){flex:0 0 25%;max-width:140px}.request-postmile-row input{flex:1 1 auto}
.request-search-go{height:40px;min-width:58px;padding:0 12px;border:0;border-radius:10px;background:#118fc6;color:#fff;font-size:11px;font-weight:950;text-transform:none;cursor:pointer}
.request-map-search-results{top:calc(100% + 6px)!important;left:0!important;right:0!important}
body[data-theme="night"] .request-map-search{border-color:#32576b!important;background:rgba(9,36,51,.98)!important}
body[data-theme="night"] .request-search-tab,body[data-theme="night"] .request-map-search-form input,body[data-theme="night"] .request-map-search-form select{border-color:#355d72;background:#0b2d40;color:#eefaff}
body[data-theme="night"] .request-search-tab.is-active{background:#168fc0;color:#fff}

/* Circular controls match the installed/mobile Field Map look on Add CSR and Request. */
body.embed-request .map-search-toggle,body.embed-addcsr .map-search-toggle,
body.embed-request .graffiti-map-controls .map-control-btn,body.embed-addcsr .graffiti-map-controls .map-control-btn{
  width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;border:1px solid #c5d7df!important;border-radius:50%!important;background:#fff!important;color:#0a86bc!important;box-shadow:0 5px 17px rgba(4,43,59,.22)!important;display:flex!important;align-items:center!important;justify-content:center!important
}
body.embed-request[data-theme="night"] .map-search-toggle,body.embed-addcsr[data-theme="night"] .map-search-toggle,
body.embed-request[data-theme="night"] .graffiti-map-controls .map-control-btn,body.embed-addcsr[data-theme="night"] .graffiti-map-controls .map-control-btn{border-color:#396173!important;background:#0b2733!important;color:#60c8ed!important;box-shadow:0 5px 17px rgba(0,0,0,.42)!important}
body.embed-request .graffiti-map-controls .control-text,body.embed-addcsr .graffiti-map-controls .control-text{display:none!important}
body.embed-request .street-view-btn img,body.embed-addcsr .street-view-btn img{width:25px!important;height:29px!important}
.map-search-toggle .search-glyph{position:relative;width:20px;height:20px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}.map-search-toggle .search-glyph:after{content:"";position:absolute;width:8px;height:2px;right:-6px;bottom:-3px;border-radius:2px;background:currentColor;transform:rotate(45deg);transform-origin:left center}
.map-search-toggle.is-close .search-glyph{border:0}.map-search-toggle.is-close .search-glyph:before,.map-search-toggle.is-close .search-glyph:after{content:"";position:absolute;left:9px;top:0;width:2px;height:20px;background:currentColor;border-radius:2px}.map-search-toggle.is-close .search-glyph:before{transform:rotate(45deg)}.map-search-toggle.is-close .search-glyph:after{right:auto;bottom:auto;transform:rotate(-45deg)}
.layers-glyph{position:relative;width:22px;height:18px}.layers-glyph:before,.layers-glyph:after{content:"";position:absolute;left:3px;width:16px;height:11px;border:2px solid currentColor;border-radius:3px;transform:rotate(-8deg)}.layers-glyph:before{top:0}.layers-glyph:after{top:5px;left:1px}
.locate-glyph{position:relative;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;box-sizing:border-box}.locate-glyph:before{content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;border-radius:50%;background:currentColor}.locate-glyph:after{content:"";position:absolute;left:9px;top:-5px;width:2px;height:30px;background:linear-gradient(to bottom,currentColor 0 5px,transparent 5px 25px,currentColor 25px 30px)}
.fullscreen-glyph{position:relative;width:22px;height:22px;background:linear-gradient(currentColor,currentColor) left top/7px 2px no-repeat,linear-gradient(currentColor,currentColor) left top/2px 7px no-repeat,linear-gradient(currentColor,currentColor) right top/7px 2px no-repeat,linear-gradient(currentColor,currentColor) right top/2px 7px no-repeat,linear-gradient(currentColor,currentColor) left bottom/7px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/2px 7px no-repeat,linear-gradient(currentColor,currentColor) right bottom/7px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom/2px 7px no-repeat}

/* Search closed: magnifier left, map controls right. Search open: same controls stack down the left under the search. */
body.embed-request.search-open .request-map-search,body.embed-addcsr.search-open .request-map-search{left:62px!important;top:10px!important;width:min(760px,calc(100% - 74px))!important;max-width:760px!important}
body.embed-request.search-open .graffiti-map-controls,body.embed-addcsr.search-open .graffiti-map-controls{left:10px!important;right:auto!important;top:64px!important;display:flex!important;flex-direction:column!important;gap:8px!important}

/* Open jobs = red pin drop. Completed jobs = green pin drop. */
.job-marker.map-pin{width:34px!important;height:44px!important;display:block!important;background:transparent!important;overflow:visible!important;cursor:pointer!important}
.job-marker.map-pin .map-pin-head{position:absolute;left:4px;top:2px;width:26px;height:26px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#d52525;box-shadow:0 2px 7px rgba(0,0,0,.38);transform:rotate(-45deg);box-sizing:border-box}
.job-marker.map-pin.completed .map-pin-head{background:#159447}
.job-marker.map-pin .map-pin-dot{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.job-marker.map-pin .job-marker-stop{position:absolute;left:1px;top:4px;z-index:2}

@media(max-width:760px){
  .request-map-search{height:auto!important;min-height:50px!important;flex-wrap:wrap!important}
  .request-search-tabs{flex:0 0 auto}.request-search-tab{min-width:76px;padding:0 9px;font-size:11px}
  .request-map-search-form{flex:1 1 280px}
  body.embed-request.search-open .request-map-search,body.embed-addcsr.search-open .request-map-search{left:56px!important;top:8px!important;width:calc(100% - 64px)!important;max-width:none!important}
  body.embed-request.search-open .graffiti-map-controls,body.embed-addcsr.search-open .graffiti-map-controls{left:8px!important;top:62px!important}
}
@media(max-width:520px){
  .request-map-search{display:grid!important;grid-template-columns:auto 1fr;gap:4px!important}
  .request-search-tabs{grid-column:1;grid-row:1}.request-search-tab{min-width:64px;padding:0 7px}
  .request-map-search-form{grid-column:2;grid-row:1;min-width:0}
  .request-postmile-row select:nth-child(1){max-width:76px}.request-postmile-row select:nth-child(2){max-width:92px}.request-map-search-form input,.request-map-search-form select{font-size:12px;padding:0 5px}.request-search-go{min-width:44px;padding:0 6px}
  .request-map-search-results{grid-column:1 / -1}
}

/* v37 — Add CSR / Request controls match the installed Field Map UI. */
body.embed-addcsr,body.embed-request{--graffiti-mobile-blue:#108ec4;--graffiti-mobile-ink:#607985;--graffiti-mobile-border:#c5d7df;--graffiti-mobile-surface:#fff}
body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle,
body.embed-addcsr .graffiti-map-controls .map-control-btn,body.embed-request .graffiti-map-controls .map-control-btn{
  box-sizing:border-box!important;width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--graffiti-mobile-border)!important;
  border-radius:50%!important;background:var(--graffiti-mobile-surface)!important;color:var(--graffiti-mobile-blue)!important;
  box-shadow:0 5px 17px rgba(4,43,59,.22)!important
}
body.embed-addcsr[data-theme="night"] .map-search-toggle,body.embed-request[data-theme="night"] .map-search-toggle,
body.embed-addcsr[data-theme="night"] .graffiti-map-controls .map-control-btn,body.embed-request[data-theme="night"] .graffiti-map-controls .map-control-btn{
  border-color:#355d72!important;background:#0b2733!important;color:#67c8ec!important;box-shadow:0 5px 17px rgba(0,0,0,.42)!important
}
body.embed-addcsr .graffiti-map-controls .control-text,body.embed-request .graffiti-map-controls .control-text{display:none!important}
body.embed-addcsr .graffiti-map-controls .base-btn,body.embed-request .graffiti-map-controls .base-btn,
body.embed-addcsr .graffiti-map-controls .street-view-btn,body.embed-request .graffiti-map-controls .street-view-btn,
body.embed-addcsr .graffiti-map-controls .icon-btn,body.embed-request .graffiti-map-controls .icon-btn{width:46px!important;min-width:46px!important;height:46px!important}
body.embed-addcsr .graffiti-map-controls .street-view-btn img,body.embed-request .graffiti-map-controls .street-view-btn img{width:25px!important;height:29px!important}
body.embed-addcsr .layers-glyph,body.embed-request .layers-glyph{width:23px!important;height:20px!important}
body.embed-addcsr .locate-glyph,body.embed-request .locate-glyph,
body.embed-addcsr .fullscreen-glyph,body.embed-request .fullscreen-glyph{width:23px!important;height:23px!important}

/* Closed: search is left, regular map buttons stay in their original upper-right row. */
body.embed-addcsr:not(.search-open) .map-search-toggle,body.embed-request:not(.search-open) .map-search-toggle{left:10px!important;right:auto!important;top:10px!important}
body.embed-addcsr:not(.search-open) .graffiti-map-controls,body.embed-request:not(.search-open) .graffiti-map-controls{
  left:auto!important;right:10px!important;top:10px!important;display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important
}

/* Open: close button stays left of the bar; the four map buttons stack directly under it. */
body.embed-addcsr.search-open .map-search-toggle,body.embed-request.search-open .map-search-toggle{left:10px!important;right:auto!important;top:10px!important}
body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{
  box-sizing:border-box!important;left:66px!important;right:10px!important;top:8px!important;width:auto!important;max-width:none!important;
  height:50px!important;min-height:50px!important;padding:4px!important;display:grid!important;
  grid-template-columns:142px minmax(0,1fr)!important;grid-template-rows:42px!important;align-items:center!important;gap:5px!important;
  border:1px solid #c3d4dc!important;border-radius:15px!important;background:rgba(255,255,255,.98)!important;overflow:visible!important
}
body.embed-addcsr.search-open .graffiti-map-controls,body.embed-request.search-open .graffiti-map-controls{
  left:10px!important;right:auto!important;top:66px!important;display:flex!important;flex-direction:column!important;gap:8px!important;align-items:flex-start!important
}
body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{
  grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:142px!important;height:42px!important;gap:4px!important;margin:0!important
}
body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{
  min-width:0!important;width:auto!important;height:42px!important;padding:0 7px!important;border:1px solid #b8cdd7!important;border-radius:9px!important;
  background:#fff!important;color:#153d52!important;font-size:11px!important;font-weight:900!important
}
body.embed-addcsr.search-open .request-search-tab.is-active,body.embed-request.search-open .request-search-tab.is-active{
  border-color:#108ec4!important;background:#108ec4!important;color:#fff!important
}
body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{
  grid-column:2!important;grid-row:1!important;display:flex!important;width:100%!important;height:42px!important;min-width:0!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
body.embed-addcsr.search-open .request-map-search-form[hidden],body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{
  height:42px!important;min-width:0!important;border:1px solid #bed1d9!important;border-radius:9px!important;background:#fff!important;color:#173a4d!important;font-size:12px!important;padding:0 8px!important
}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex:0 1 72px!important;width:72px!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex:0 1 82px!important;width:82px!important}
body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{flex:1 1 90px!important;width:90px!important}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{
  flex:0 0 54px!important;width:54px!important;height:42px!important;border:0!important;border-radius:9px!important;background:#108ec4!important;color:#fff!important;font-size:11px!important;font-weight:900!important
}
body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{
  position:absolute!important;left:0!important;right:0!important;top:56px!important;z-index:60!important
}
body.embed-addcsr.search-open[data-theme="night"] .request-map-search,body.embed-request.search-open[data-theme="night"] .request-map-search{border-color:#355d72!important;background:rgba(9,36,51,.98)!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab,body.embed-request.search-open[data-theme="night"] .request-search-tab,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form input,body.embed-request.search-open[data-theme="night"] .request-map-search-form input,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form select,body.embed-request.search-open[data-theme="night"] .request-map-search-form select{border-color:#355d72!important;background:#0b2d40!important;color:#eefaff!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab.is-active,body.embed-request.search-open[data-theme="night"] .request-search-tab.is-active{background:#108ec4!important;border-color:#108ec4!important;color:#fff!important}

/* Property / Field / Clear uses the same icon-above-label treatment as the original mobile Field Map. */
body.embed-addcsr .graffiti-bottom-nav,body.embed-request .graffiti-bottom-nav{
  height:58px!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  padding:2px 5px!important;border-top:1px solid #d3e0e5!important;background:#fff!important;box-shadow:0 -4px 16px rgba(4,43,59,.12)!important
}
body.embed-addcsr .graffiti-bottom-nav button,body.embed-request .graffiti-bottom-nav button{
  display:flex!important;min-width:0!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:1px!important;
  border:0!important;border-radius:10px!important;background:transparent!important;color:#607985!important;font-size:10px!important;font-weight:800!important;letter-spacing:0!important
}
body.embed-addcsr .graffiti-bottom-nav button.is-active,body.embed-request .graffiti-bottom-nav button.is-active{background:#e4f4f8!important;color:#108ec4!important;box-shadow:none!important}
body.embed-addcsr .graffiti-bottom-nav .nav-icon,body.embed-request .graffiti-bottom-nav .nav-icon{display:flex!important;width:25px!important;height:25px!important;font-size:0!important}
body.embed-addcsr .graffiti-bottom-nav .nav-icon svg,body.embed-request .graffiti-bottom-nav .nav-icon svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.embed-addcsr .graffiti-bottom-nav b,body.embed-request .graffiti-bottom-nav b{font-size:10px!important;font-weight:800!important;text-transform:none!important}
body.embed-addcsr[data-theme="night"] .graffiti-bottom-nav,body.embed-request[data-theme="night"] .graffiti-bottom-nav{border-top-color:#27495a!important;background:#0a2534!important}
body.embed-addcsr[data-theme="night"] .graffiti-bottom-nav button,body.embed-request[data-theme="night"] .graffiti-bottom-nav button{color:#9cb5c0!important}
body.embed-addcsr[data-theme="night"] .graffiti-bottom-nav button.is-active,body.embed-request[data-theme="night"] .graffiti-bottom-nav button.is-active{background:#123f54!important;color:#67c8ec!important}

@media(max-width:650px){
 body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle,
 body.embed-addcsr .graffiti-map-controls .map-control-btn,body.embed-request .graffiti-map-controls .map-control-btn{width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr:not(.search-open) .map-search-toggle,body.embed-request:not(.search-open) .map-search-toggle{left:8px!important;top:8px!important}
 body.embed-addcsr:not(.search-open) .graffiti-map-controls,body.embed-request:not(.search-open) .graffiti-map-controls{right:8px!important;top:8px!important;gap:6px!important}
 body.embed-addcsr.search-open .map-search-toggle,body.embed-request.search-open .map-search-toggle{left:8px!important;top:8px!important}
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{left:56px!important;right:8px!important;top:4px!important;grid-template-columns:126px minmax(0,1fr)!important}
 body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{width:126px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{font-size:10px!important;padding:0 4px!important}
 body.embed-addcsr.search-open .graffiti-map-controls,body.embed-request.search-open .graffiti-map-controls{left:8px!important;top:58px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex-basis:58px!important;width:58px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex-basis:67px!important;width:67px!important}
 body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
 body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{font-size:11px!important;padding:0 5px!important}
 body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{flex-basis:44px!important;width:44px!important;padding:0 4px!important;font-size:10px!important}
}
.mobile-map-glyph{display:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.embed-addcsr .base-btn .layers-glyph,body.embed-request .base-btn .layers-glyph{display:none!important}
body.embed-addcsr .base-btn .mobile-map-glyph,body.embed-request .base-btn .mobile-map-glyph{display:block!important}

/* v39 — final control placement cleanup. Add CSR / Request keep search, Street View and Locate on the left at all times. */
body.embed-addcsr .graffiti-map-controls,
body.embed-request .graffiti-map-controls,
body.embed-addcsr.search-open .graffiti-map-controls,
body.embed-request.search-open .graffiti-map-controls{
  position:absolute!important;inset:0!important;z-index:32!important;display:block!important;pointer-events:none!important
}
body.embed-addcsr .graffiti-map-controls .map-control-btn,
body.embed-request .graffiti-map-controls .map-control-btn{position:absolute!important;pointer-events:auto!important}
body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle{left:10px!important;right:auto!important;top:10px!important}
body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:10px!important;right:auto!important;top:64px!important}
body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:10px!important;right:auto!important;top:118px!important}
body.embed-addcsr #baseToggle,body.embed-request #baseToggle{left:auto!important;right:64px!important;top:10px!important}
body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{left:auto!important;right:10px!important;top:10px!important}

/* Restore the v37 search-bar proportions. It opens beside the close button and stops before the right-side map buttons. */
body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{
  box-sizing:border-box!important;left:66px!important;right:118px!important;top:8px!important;width:auto!important;max-width:none!important;
  height:50px!important;min-height:50px!important;padding:4px!important;display:grid!important;
  grid-template-columns:142px minmax(0,1fr)!important;grid-template-rows:42px!important;align-items:center!important;gap:5px!important;
  border:1px solid #c3d4dc!important;border-radius:15px!important;background:rgba(255,255,255,.98)!important;overflow:visible!important
}
body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{
  grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:142px!important;height:42px!important;gap:4px!important;margin:0!important
}
body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{
  min-width:0!important;width:auto!important;height:42px!important;padding:0 7px!important;border:1px solid #b8cdd7!important;border-radius:9px!important;background:#fff!important;color:#153d52!important;font-size:11px!important;font-weight:900!important
}
body.embed-addcsr.search-open .request-search-tab.is-active,body.embed-request.search-open .request-search-tab.is-active{border-color:#108ec4!important;background:#108ec4!important;color:#fff!important}
body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{
  grid-column:2!important;grid-row:1!important;display:flex!important;width:100%!important;height:42px!important;min-width:0!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
body.embed-addcsr.search-open .request-map-search-form[hidden],body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{height:42px!important;min-width:0!important;border:1px solid #bed1d9!important;border-radius:9px!important;background:#fff!important;color:#173a4d!important;font-size:12px!important;padding:0 8px!important}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex:0 1 72px!important;width:72px!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex:0 1 82px!important;width:82px!important}
body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{flex:1 1 90px!important;width:90px!important}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{flex:0 0 54px!important;width:54px!important;height:42px!important;border:0!important;border-radius:9px!important;background:#108ec4!important;color:#fff!important;font-size:11px!important;font-weight:900!important}
body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{position:absolute!important;left:0!important;right:0!important;top:56px!important;z-index:65!important}
body.embed-addcsr.search-open[data-theme="night"] .request-map-search,body.embed-request.search-open[data-theme="night"] .request-map-search{border-color:#355d72!important;background:rgba(9,36,51,.98)!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab,body.embed-request.search-open[data-theme="night"] .request-search-tab,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form input,body.embed-request.search-open[data-theme="night"] .request-map-search-form input,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form select,body.embed-request.search-open[data-theme="night"] .request-map-search-form select{border-color:#355d72!important;background:#0b2d40!important;color:#eefaff!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab.is-active,body.embed-request.search-open[data-theme="night"] .request-search-tab.is-active{background:#108ec4!important;border-color:#108ec4!important;color:#fff!important}

/* All other graffiti Mapbox modes use the same compact round controls; no stretched Map button. */
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls{left:auto!important;right:10px!important;top:10px!important;display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .map-control-btn{
  box-sizing:border-box!important;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;border:1px solid #c5d7df!important;border-radius:50%!important;background:#fff!important;color:#108ec4!important;box-shadow:0 4px 14px rgba(4,43,59,.20)!important;display:flex!important;align-items:center!important;justify-content:center!important
}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .control-text{display:none!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .base-btn .layers-glyph{display:none!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .base-btn .mobile-map-glyph{display:block!important;width:24px!important;height:24px!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .street-view-btn img{width:24px!important;height:28px!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap)[data-theme="night"] .graffiti-map-controls .map-control-btn{background:#0b2733!important;border-color:#355d72!important;color:#67c8ec!important}
body.embed-detail #locateBtn,body.embed-route #locateBtn{display:none!important}

/* The Map / Field Map pages now use the new Mapbox field-map shell at every breakpoint. */
body.embed-fieldmap .graffiti-map-controls .map-control-btn{border-radius:50%!important}

@media(max-width:650px){
 body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle{left:8px!important;top:8px!important;width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:8px!important;top:58px!important;width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:8px!important;top:108px!important;width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr #baseToggle,body.embed-request #baseToggle{right:58px!important;top:8px!important;width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{right:8px!important;top:8px!important;width:42px!important;min-width:42px!important;height:42px!important}
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{left:58px!important;right:108px!important;top:5px!important;grid-template-columns:122px minmax(0,1fr)!important}
 body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{width:122px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{font-size:10px!important;padding:0 4px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex-basis:54px!important;width:54px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex-basis:62px!important;width:62px!important}
 body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
 body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{font-size:11px!important;padding:0 5px!important}
 body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{flex-basis:42px!important;width:42px!important;padding:0 3px!important;font-size:10px!important}
}
@media(max-width:520px){
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{right:8px!important;grid-template-columns:116px minmax(0,1fr)!important}
 body.embed-addcsr.search-open #baseToggle,body.embed-request.search-open #baseToggle{top:58px!important;right:58px!important}
 body.embed-addcsr.search-open #fullscreenBtn,body.embed-request.search-open #fullscreenBtn{top:58px!important;right:8px!important}
}


/* v40 — definitive Add CSR / Request placement.
   Street View + Locate are always visible under Search. Search uses the v38 proportions. */
body.embed-addcsr .graffiti-controls-empty,
body.embed-request .graffiti-controls-empty{display:none!important}
body.embed-addcsr > .map-search-toggle,
body.embed-request > .map-search-toggle,
body.embed-addcsr > .graffiti-floating-control,
body.embed-request > .graffiti-floating-control{
  position:absolute!important;z-index:70!important;width:46px!important;min-width:46px!important;height:46px!important;
  display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;
  padding:0!important;border:1px solid #c5d7df!important;border-radius:50%!important;background:rgba(255,255,255,.97)!important;
  color:#108ec4!important;box-shadow:0 4px 14px rgba(4,43,59,.22)!important;pointer-events:auto!important
}
body.embed-addcsr[data-theme="night"] > .map-search-toggle,
body.embed-request[data-theme="night"] > .map-search-toggle,
body.embed-addcsr[data-theme="night"] > .graffiti-floating-control,
body.embed-request[data-theme="night"] > .graffiti-floating-control{background:#0b2733!important;border-color:#355d72!important;color:#67c8ec!important}
body.embed-addcsr > #searchToggleBtn,body.embed-request > #searchToggleBtn{left:10px!important;right:auto!important;top:10px!important}
body.embed-addcsr > #streetViewBtn,body.embed-request > #streetViewBtn{left:10px!important;right:auto!important;top:64px!important}
body.embed-addcsr > #locateBtn,body.embed-request > #locateBtn{left:10px!important;right:auto!important;top:118px!important}
body.embed-addcsr > #baseToggle,body.embed-request > #baseToggle{right:64px!important;left:auto!important;top:10px!important}
body.embed-addcsr > #fullscreenBtn,body.embed-request > #fullscreenBtn{right:10px!important;left:auto!important;top:10px!important}
body.embed-addcsr > #baseToggle .control-text,body.embed-request > #baseToggle .control-text,
body.embed-addcsr > #streetViewBtn .control-text,body.embed-request > #streetViewBtn .control-text{display:none!important}
body.embed-addcsr > #baseToggle .layers-glyph,body.embed-request > #baseToggle .layers-glyph{display:none!important}
body.embed-addcsr > #baseToggle .mobile-map-glyph,body.embed-request > #baseToggle .mobile-map-glyph{display:block!important;width:25px!important;height:25px!important}
body.embed-addcsr > #streetViewBtn img,body.embed-request > #streetViewBtn img{display:block!important;width:25px!important;height:29px!important;object-fit:contain!important}

/* v38 search layout restored: one clean horizontal search shell beside the close button. */
body.embed-addcsr.search-open .request-map-search,
body.embed-request.search-open .request-map-search{
  position:absolute!important;z-index:68!important;left:64px!important;right:10px!important;top:8px!important;width:auto!important;max-width:none!important;
  min-height:50px!important;height:50px!important;box-sizing:border-box!important;display:flex!important;align-items:stretch!important;gap:5px!important;
  padding:4px!important;border:1px solid rgba(7,63,85,.15)!important;border-radius:15px!important;background:rgba(255,255,255,.98)!important;
  box-shadow:0 5px 18px rgba(4,43,59,.20)!important;overflow:visible!important
}
body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{
  display:flex!important;flex:0 0 auto!important;width:auto!important;height:42px!important;gap:4px!important;margin:0!important
}
body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{
  min-width:88px!important;width:auto!important;height:42px!important;padding:0 14px!important;border:1px solid #b9ccd5!important;border-radius:10px!important;
  background:#fff!important;color:#173a4d!important;font-size:11px!important;font-weight:900!important
}
body.embed-addcsr.search-open .request-search-tab.is-active,body.embed-request.search-open .request-search-tab.is-active{border-color:#108ec4!important;background:#108ec4!important;color:#fff!important}
body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{
  display:flex!important;flex:1 1 auto!important;width:auto!important;height:42px!important;min-width:0!important;gap:4px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
body.embed-addcsr.search-open .request-map-search-form[hidden],body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{
  box-sizing:border-box!important;height:42px!important;min-width:0!important;border:1px solid #bed1d9!important;border-radius:9px!important;background:#fff!important;color:#173a4d!important;font-size:12px!important;padding:0 8px!important
}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex:0 1 72px!important;width:72px!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex:0 1 82px!important;width:82px!important}
body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{flex:1 1 90px!important;width:90px!important}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{flex:0 0 54px!important;width:54px!important;height:42px!important;padding:0!important;border:0!important;border-radius:9px!important;background:#108ec4!important;color:#fff!important;font-size:11px!important;font-weight:900!important}
body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{position:absolute!important;left:0!important;right:0!important;top:56px!important;z-index:75!important}
body.embed-addcsr.search-open[data-theme="night"] .request-map-search,body.embed-request.search-open[data-theme="night"] .request-map-search{background:#092433!important;border-color:#355d72!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab,body.embed-request.search-open[data-theme="night"] .request-search-tab,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form input,body.embed-request.search-open[data-theme="night"] .request-map-search-form input,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form select,body.embed-request.search-open[data-theme="night"] .request-map-search-form select{background:#0b2d40!important;border-color:#355d72!important;color:#eefaff!important}

@media(max-width:700px){
 body.embed-addcsr > .map-search-toggle,body.embed-request > .map-search-toggle,
 body.embed-addcsr > .graffiti-floating-control,body.embed-request > .graffiti-floating-control{width:44px!important;min-width:44px!important;height:44px!important}
 body.embed-addcsr > #searchToggleBtn,body.embed-request > #searchToggleBtn{left:8px!important;top:8px!important}
 body.embed-addcsr > #streetViewBtn,body.embed-request > #streetViewBtn{left:8px!important;top:60px!important}
 body.embed-addcsr > #locateBtn,body.embed-request > #locateBtn{left:8px!important;top:112px!important}
 body.embed-addcsr > #baseToggle,body.embed-request > #baseToggle{right:60px!important;top:8px!important}
 body.embed-addcsr > #fullscreenBtn,body.embed-request > #fullscreenBtn{right:8px!important;top:8px!important}
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{left:60px!important;right:8px!important;top:5px!important;height:50px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{min-width:72px!important;padding:0 9px!important;font-size:10px!important}
 body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{min-width:46px!important;width:46px!important}
}
@media(max-width:520px){
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{height:auto!important;min-height:94px!important;flex-wrap:wrap!important;align-content:flex-start!important}
 body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{height:40px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{height:40px!important}
 body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{flex:1 1 100%!important;height:40px!important}
 body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{top:100px!important}
}

/* ============================================================
   v42 FINAL CONTROL LAYOUT
   Add CSR / Request only: search + Street View + Locate on left,
   Map/Aerial + Fullscreen on right. Search never owns the icons.
   ============================================================ */
body.embed-addcsr .graffiti-map-controls,
body.embed-request .graffiti-map-controls{
  position:absolute!important; inset:0!important; z-index:58!important;
  display:block!important; pointer-events:none!important;
  width:auto!important; height:auto!important; background:transparent!important;
}
body.embed-addcsr .graffiti-map-controls .map-control-btn,
body.embed-request .graffiti-map-controls .map-control-btn{
  position:absolute!important; display:flex!important; align-items:center!important; justify-content:center!important;
  width:46px!important; min-width:46px!important; height:46px!important; padding:0!important;
  border:1px solid #c7d8df!important; border-radius:50%!important; background:#fff!important;
  color:#0d92c9!important; box-shadow:0 3px 10px rgba(0,39,58,.16)!important;
  pointer-events:auto!important; overflow:hidden!important;
}
body.embed-addcsr .graffiti-map-controls .control-text,
body.embed-request .graffiti-map-controls .control-text{display:none!important}
body.embed-addcsr .graffiti-map-controls .base-btn .layers-glyph,
body.embed-request .graffiti-map-controls .base-btn .layers-glyph{display:none!important}
body.embed-addcsr .graffiti-map-controls .base-btn .mobile-map-glyph,
body.embed-request .graffiti-map-controls .base-btn .mobile-map-glyph{display:block!important;width:24px!important;height:24px!important}
body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:10px!important;right:auto!important;top:62px!important}
body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:10px!important;right:auto!important;top:114px!important}
body.embed-addcsr #baseToggle,body.embed-request #baseToggle{right:62px!important;left:auto!important;top:10px!important}
body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{right:10px!important;left:auto!important;top:10px!important}
body.embed-addcsr #streetViewBtn img,body.embed-request #streetViewBtn img{width:23px!important;height:28px!important;object-fit:contain!important}
body.embed-addcsr > #searchToggleBtn,body.embed-request > #searchToggleBtn{
  position:absolute!important;left:10px!important;right:auto!important;top:10px!important;z-index:70!important;
  width:46px!important;height:46px!important;border-radius:50%!important;background:#fff!important;border:1px solid #c7d8df!important;
  color:#0d92c9!important;box-shadow:0 3px 10px rgba(0,39,58,.16)!important;
}
/* Keep the search design from the good prior build, but reserve room for right-side map controls. */
body.embed-addcsr .request-map-search,body.embed-request .request-map-search{display:none!important}
body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{
  position:absolute!important;display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;
  grid-template-rows:44px!important;align-items:center!important;gap:7px!important;
  left:64px!important;right:116px!important;top:7px!important;z-index:68!important;
  min-height:50px!important;padding:4px 6px!important;border:1px solid #c7d8df!important;border-radius:13px!important;
  background:rgba(255,255,255,.97)!important;box-shadow:0 3px 12px rgba(0,39,58,.13)!important;
}
body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{
  display:flex!important;height:42px!important;gap:4px!important;margin:0!important;min-width:0!important;
}
body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{
  flex:1 1 0!important;height:42px!important;min-width:0!important;padding:0 8px!important;border-radius:9px!important;
}
body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{
  display:flex!important;height:42px!important;min-width:0!important;gap:5px!important;margin:0!important;
}
body.embed-addcsr.search-open .request-map-search-form[hidden],body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{
  height:42px!important;min-width:0!important;border:1px solid #bed1d9!important;border-radius:9px!important;background:#fff!important;
  color:#173a4d!important;font-size:12px!important;padding:0 8px!important;
}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{height:42px!important;min-width:48px!important;border-radius:9px!important}
body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{
  position:absolute!important;left:0!important;right:0!important;top:55px!important;z-index:75!important;
}
/* Night equivalents */
body.embed-addcsr[data-theme="night"] .graffiti-map-controls .map-control-btn,
body.embed-request[data-theme="night"] .graffiti-map-controls .map-control-btn,
body.embed-addcsr[data-theme="night"] > #searchToggleBtn,
body.embed-request[data-theme="night"] > #searchToggleBtn{background:#0b2733!important;border-color:#355d72!important;color:#67c8ec!important}
body.embed-addcsr.search-open[data-theme="night"] .request-map-search,
body.embed-request.search-open[data-theme="night"] .request-map-search{background:rgba(9,36,51,.98)!important;border-color:#355d72!important}
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form input,
body.embed-request.search-open[data-theme="night"] .request-map-search-form input,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form select,
body.embed-request.search-open[data-theme="night"] .request-map-search-form select{background:#0b2d40!important;border-color:#355d72!important;color:#eefaff!important}
/* All non-CSR/request workflow maps: compact circular controls; no stretched base button. */
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls{
  position:absolute!important;left:auto!important;right:10px!important;top:10px!important;z-index:58!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;pointer-events:none!important;
}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .map-control-btn{
  position:static!important;display:flex!important;width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;
  padding:0!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;pointer-events:auto!important;
}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .control-text{display:none!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .base-btn .layers-glyph{display:none!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .graffiti-map-controls .base-btn .mobile-map-glyph{display:block!important;width:24px!important;height:24px!important}
body.embed-detail #locateBtn,body.embed-route #locateBtn{display:none!important}
@media(max-width:700px){
  body.embed-addcsr > #searchToggleBtn,body.embed-request > #searchToggleBtn{left:8px!important;top:8px!important;width:42px!important;height:42px!important}
  body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:8px!important;top:56px!important;width:42px!important;min-width:42px!important;height:42px!important}
  body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:8px!important;top:104px!important;width:42px!important;min-width:42px!important;height:42px!important}
  body.embed-addcsr #baseToggle,body.embed-request #baseToggle{right:56px!important;top:8px!important;width:42px!important;min-width:42px!important;height:42px!important}
  body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{right:8px!important;top:8px!important;width:42px!important;min-width:42px!important;height:42px!important}
  body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{left:56px!important;right:104px!important;top:5px!important;grid-template-columns:122px minmax(0,1fr)!important}
}
@media(max-width:520px){
  body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{
    left:56px!important;right:56px!important;min-height:94px!important;grid-template-columns:1fr!important;grid-template-rows:40px 40px!important;
  }
  body.embed-addcsr #baseToggle,body.embed-request #baseToggle{right:8px!important;top:56px!important}
  body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{right:8px!important;top:8px!important}
  body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{top:99px!important}
}

/* v43 — definitive control layout. Keep search screens independent from all legacy control rules. */
body.embed-addcsr .map-controls-left,body.embed-request .map-controls-left,
body.embed-addcsr .map-controls-right,body.embed-request .map-controls-right{
  position:absolute!important;z-index:36!important;display:flex!important;gap:8px!important;width:auto!important;height:auto!important;
}
body.embed-addcsr .map-controls-left,body.embed-request .map-controls-left{
  left:10px!important;right:auto!important;top:64px!important;flex-direction:column!important;align-items:flex-start!important;
}
body.embed-addcsr .map-controls-right,body.embed-request .map-controls-right{
  left:auto!important;right:10px!important;top:10px!important;flex-direction:row!important;align-items:center!important;
}
body.embed-addcsr .map-controls-left #streetViewBtn,body.embed-request .map-controls-left #streetViewBtn,
body.embed-addcsr .map-controls-left #locateBtn,body.embed-request .map-controls-left #locateBtn{
  display:flex!important;visibility:visible!important;opacity:1!important;position:static!important;
}
body.embed-addcsr .map-controls-right #baseToggle,body.embed-request .map-controls-right #baseToggle,
body.embed-addcsr .map-controls-right #fullscreenBtn,body.embed-request .map-controls-right #fullscreenBtn{
  display:flex!important;visibility:visible!important;opacity:1!important;position:static!important;
}
body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle{
  display:flex!important;visibility:visible!important;opacity:1!important;position:absolute!important;left:10px!important;right:auto!important;top:10px!important;z-index:50!important;
}
/* Closed state. */
body.embed-addcsr:not(.search-open) #requestSearch,body.embed-request:not(.search-open) #requestSearch{display:none!important}
/* Open search spans the complete map width; the close button lives inside its left gutter. */
body.embed-addcsr.search-open #requestSearch,body.embed-request.search-open #requestSearch{
  display:grid!important;position:absolute!important;left:8px!important;right:8px!important;top:8px!important;width:auto!important;max-width:none!important;
  min-height:52px!important;height:52px!important;box-sizing:border-box!important;padding:5px 5px 5px 52px!important;
  grid-template-columns:122px minmax(0,1fr)!important;grid-template-rows:40px!important;gap:5px!important;align-items:center!important;
  overflow:visible!important;border-radius:15px!important;
}
body.embed-addcsr.search-open .map-search-toggle,body.embed-request.search-open .map-search-toggle{left:13px!important;top:13px!important;width:42px!important;min-width:42px!important;height:42px!important;z-index:55!important}
body.embed-addcsr.search-open .map-controls-left,body.embed-request.search-open .map-controls-left{left:10px!important;top:68px!important}
body.embed-addcsr.search-open .map-controls-right,body.embed-request.search-open .map-controls-right{right:10px!important;top:68px!important}
body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{
  grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:122px!important;height:40px!important;gap:4px!important;margin:0!important;
}
body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{
  min-width:0!important;width:auto!important;height:40px!important;padding:0 5px!important;font-size:10px!important;border-radius:9px!important;
}
body.embed-addcsr.search-open .request-map-search-form,body.embed-request.search-open .request-map-search-form{
  grid-column:2!important;grid-row:1!important;display:flex!important;width:100%!important;height:40px!important;min-width:0!important;gap:5px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
body.embed-addcsr.search-open .request-map-search-form[hidden],body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important;min-width:0!important}
body.embed-addcsr.search-open .request-postmile-row,body.embed-request.search-open .request-postmile-row{display:grid!important;grid-template-columns:minmax(58px,.85fr) minmax(70px,1fr) minmax(72px,1.2fr) 48px!important;gap:4px!important}
body.embed-addcsr.search-open .request-postmile-row select,body.embed-request.search-open .request-postmile-row select,
body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{
  width:100%!important;max-width:none!important;min-width:0!important;height:40px!important;padding:0 6px!important;font-size:10px!important;
}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{height:40px!important;min-width:48px!important;padding:0 7px!important}
body.embed-addcsr.search-open .request-map-search-results,body.embed-request.search-open .request-map-search-results{grid-column:1 / -1!important;left:-52px!important;right:0!important;top:calc(100% + 6px)!important}

/* All non-search maps keep the compact round controls together at upper-right. */
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .map-controls-right{position:absolute!important;right:10px!important;top:10px!important;left:auto!important;display:flex!important;flex-direction:row!important;gap:7px!important;width:auto!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .map-controls-left{position:absolute!important;right:110px!important;top:10px!important;left:auto!important;display:flex!important;flex-direction:row!important;gap:7px!important;width:auto!important}
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .map-controls-left .map-control-btn,
body:not(.embed-addcsr):not(.embed-request):not(.embed-fieldmap) .map-controls-right .map-control-btn{position:static!important}

@media(max-width:520px){
 body.embed-addcsr.search-open #requestSearch,body.embed-request.search-open #requestSearch{grid-template-columns:108px minmax(0,1fr)!important;padding-left:50px!important}
 body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{width:108px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{font-size:9px!important;padding:0 3px!important}
 body.embed-addcsr.search-open .request-postmile-row,body.embed-request.search-open .request-postmile-row{grid-template-columns:54px 66px minmax(62px,1fr) 42px!important;gap:3px!important}
 body.embed-addcsr.search-open .request-postmile-row select,body.embed-request.search-open .request-postmile-row select,body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{font-size:9px!important;padding:0 3px!important}
 body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{min-width:42px!important;padding:0 4px!important;font-size:9px!important}
}

/* v44 — definitive Add CSR / Request control layout. This intentionally overrides all earlier experiments. */
body.embed-addcsr .map-controls-left,
body.embed-request .map-controls-left,
body.embed-addcsr .map-controls-right,
body.embed-request .map-controls-right{
  display:contents!important;
}
body.embed-addcsr .map-search-toggle,
body.embed-request .map-search-toggle,
body.embed-addcsr #streetViewBtn,
body.embed-request #streetViewBtn,
body.embed-addcsr #locateBtn,
body.embed-request #locateBtn,
body.embed-addcsr #baseToggle,
body.embed-request #baseToggle,
body.embed-addcsr #fullscreenBtn,
body.embed-request #fullscreenBtn{
  position:absolute!important;
  z-index:70!important;
  box-sizing:border-box!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #c5d7df!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#108ec4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 4px 14px rgba(4,43,59,.20)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.embed-addcsr[data-theme="night"] .map-search-toggle,
body.embed-request[data-theme="night"] .map-search-toggle,
body.embed-addcsr[data-theme="night"] #streetViewBtn,
body.embed-request[data-theme="night"] #streetViewBtn,
body.embed-addcsr[data-theme="night"] #locateBtn,
body.embed-request[data-theme="night"] #locateBtn,
body.embed-addcsr[data-theme="night"] #baseToggle,
body.embed-request[data-theme="night"] #baseToggle,
body.embed-addcsr[data-theme="night"] #fullscreenBtn,
body.embed-request[data-theme="night"] #fullscreenBtn{
  background:#0b2733!important;border-color:#355d72!important;color:#67c8ec!important;
}
body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle{left:10px!important;right:auto!important;top:10px!important}
body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:10px!important;right:auto!important;top:64px!important}
body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:10px!important;right:auto!important;top:118px!important}
body.embed-addcsr #baseToggle,body.embed-request #baseToggle{left:auto!important;right:64px!important;top:10px!important}
body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{left:auto!important;right:10px!important;top:10px!important}
body.embed-addcsr #streetViewBtn .control-text,body.embed-request #streetViewBtn .control-text,
body.embed-addcsr #baseToggle .control-text,body.embed-request #baseToggle .control-text{display:none!important}
body.embed-addcsr #streetViewBtn img,body.embed-request #streetViewBtn img{display:block!important;width:25px!important;height:29px!important;object-fit:contain!important}
body.embed-addcsr #baseToggle .layers-glyph,body.embed-request #baseToggle .layers-glyph{display:none!important}
body.embed-addcsr #baseToggle .mobile-map-glyph,body.embed-request #baseToggle .mobile-map-glyph{display:block!important;width:24px!important;height:24px!important}

/* Search opens full-width. Controls move to one row under it, then return when closed. */
body.embed-addcsr.search-open .request-map-search,
body.embed-request.search-open .request-map-search{
  position:absolute!important;
  z-index:68!important;
  left:64px!important;
  right:10px!important;
  top:8px!important;
  width:auto!important;
  max-width:none!important;
  height:102px!important;
  min-height:102px!important;
  padding:5px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:42px 46px!important;
  gap:4px!important;
  align-items:center!important;
  box-sizing:border-box!important;
  border:1px solid #c3d4dc!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 5px 18px rgba(4,43,59,.18)!important;
  overflow:visible!important;
}
body.embed-addcsr.search-open .request-search-tabs,
body.embed-request.search-open .request-search-tabs{
  grid-column:1!important;grid-row:1!important;
  width:154px!important;height:42px!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;
  margin:0!important;
}
body.embed-addcsr.search-open .request-search-tab,
body.embed-request.search-open .request-search-tab{
  width:auto!important;min-width:0!important;height:42px!important;margin:0!important;padding:0 8px!important;
  border:1px solid #b8cdd7!important;border-radius:9px!important;background:#fff!important;color:#153d52!important;
  font-size:11px!important;font-weight:900!important;
}
body.embed-addcsr.search-open .request-search-tab.is-active,
body.embed-request.search-open .request-search-tab.is-active{background:#108ec4!important;border-color:#108ec4!important;color:#fff!important}
body.embed-addcsr.search-open .request-map-search-form,
body.embed-request.search-open .request-map-search-form{
  grid-column:1!important;grid-row:2!important;
  display:flex!important;align-items:center!important;width:100%!important;height:46px!important;min-width:0!important;
  gap:5px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
body.embed-addcsr.search-open .request-map-search-form[hidden],
body.embed-request.search-open .request-map-search-form[hidden]{display:none!important}
body.embed-addcsr.search-open .request-map-search-form input,
body.embed-request.search-open .request-map-search-form input,
body.embed-addcsr.search-open .request-map-search-form select,
body.embed-request.search-open .request-map-search-form select{
  height:42px!important;min-width:0!important;box-sizing:border-box!important;
  border:1px solid #bed1d9!important;border-radius:9px!important;background:#fff!important;color:#173a4d!important;
  font-size:12px!important;padding:0 8px!important;
}
body.embed-addcsr.search-open .request-address-row input,body.embed-request.search-open .request-address-row input{flex:1 1 auto!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex:0 0 78px!important;width:78px!important}
body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex:0 0 94px!important;width:94px!important}
body.embed-addcsr.search-open .request-postmile-row input,body.embed-request.search-open .request-postmile-row input{flex:1 1 110px!important;width:auto!important}
body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{
  flex:0 0 54px!important;width:54px!important;height:42px!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:9px!important;background:#108ec4!important;color:#fff!important;font-size:11px!important;font-weight:900!important;
}
body.embed-addcsr.search-open .request-map-search-results,
body.embed-request.search-open .request-map-search-results{position:absolute!important;left:0!important;right:0!important;top:108px!important;z-index:90!important}

body.embed-addcsr.search-open #streetViewBtn,body.embed-request.search-open #streetViewBtn{left:10px!important;right:auto!important;top:120px!important}
body.embed-addcsr.search-open #locateBtn,body.embed-request.search-open #locateBtn{left:64px!important;right:auto!important;top:120px!important}
body.embed-addcsr.search-open #baseToggle,body.embed-request.search-open #baseToggle{left:118px!important;right:auto!important;top:120px!important}
body.embed-addcsr.search-open #fullscreenBtn,body.embed-request.search-open #fullscreenBtn{left:172px!important;right:auto!important;top:120px!important}

body.embed-addcsr.search-open[data-theme="night"] .request-map-search,
body.embed-request.search-open[data-theme="night"] .request-map-search{border-color:#355d72!important;background:rgba(9,36,51,.98)!important}
body.embed-addcsr.search-open[data-theme="night"] .request-search-tab,
body.embed-request.search-open[data-theme="night"] .request-search-tab,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form input,
body.embed-request.search-open[data-theme="night"] .request-map-search-form input,
body.embed-addcsr.search-open[data-theme="night"] .request-map-search-form select,
body.embed-request.search-open[data-theme="night"] .request-map-search-form select{border-color:#355d72!important;background:#0b2d40!important;color:#eefaff!important}

@media(max-width:520px){
 body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle,
 body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn,
 body.embed-addcsr #locateBtn,body.embed-request #locateBtn,
 body.embed-addcsr #baseToggle,body.embed-request #baseToggle,
 body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}
 body.embed-addcsr .map-search-toggle,body.embed-request .map-search-toggle{left:8px!important;top:8px!important}
 body.embed-addcsr #streetViewBtn,body.embed-request #streetViewBtn{left:8px!important;top:58px!important}
 body.embed-addcsr #locateBtn,body.embed-request #locateBtn{left:8px!important;top:108px!important}
 body.embed-addcsr #baseToggle,body.embed-request #baseToggle{right:58px!important;top:8px!important}
 body.embed-addcsr #fullscreenBtn,body.embed-request #fullscreenBtn{right:8px!important;top:8px!important}
 body.embed-addcsr.search-open .request-map-search,body.embed-request.search-open .request-map-search{left:58px!important;right:8px!important;top:5px!important;height:100px!important;min-height:100px!important}
 body.embed-addcsr.search-open .request-search-tabs,body.embed-request.search-open .request-search-tabs{width:132px!important}
 body.embed-addcsr.search-open .request-search-tab,body.embed-request.search-open .request-search-tab{font-size:10px!important;padding:0 5px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(1),body.embed-request.search-open .request-postmile-row select:nth-child(1){flex-basis:62px!important;width:62px!important}
 body.embed-addcsr.search-open .request-postmile-row select:nth-child(2),body.embed-request.search-open .request-postmile-row select:nth-child(2){flex-basis:70px!important;width:70px!important}
 body.embed-addcsr.search-open .request-map-search-form input,body.embed-request.search-open .request-map-search-form input,
 body.embed-addcsr.search-open .request-map-search-form select,body.embed-request.search-open .request-map-search-form select{font-size:11px!important;padding:0 5px!important}
 body.embed-addcsr.search-open .request-search-go,body.embed-request.search-open .request-search-go{flex-basis:42px!important;width:42px!important;font-size:10px!important}
 body.embed-addcsr.search-open #streetViewBtn,body.embed-request.search-open #streetViewBtn{left:8px!important;top:114px!important}
 body.embed-addcsr.search-open #locateBtn,body.embed-request.search-open #locateBtn{left:58px!important;top:114px!important}
 body.embed-addcsr.search-open #baseToggle,body.embed-request.search-open #baseToggle{left:108px!important;right:auto!important;top:114px!important}
 body.embed-addcsr.search-open #fullscreenBtn,body.embed-request.search-open #fullscreenBtn{left:158px!important;right:auto!important;top:114px!important}
}
