/* Greenzilla measuring tool (/measure). Loads after gz.css, leaflet.css and
   leaflet-geoman.css. Every rule is scoped to .gzm so the module can be copied
   to another site; colours fall back to the Greenzilla palette if that site's
   tokens are missing. Fixed map heights: nothing shifts while tiles load. */
.gzm{
  --gzm-paper:var(--paper,#F5F2EA); --gzm-paper-2:var(--paper-2,#EFE9DB);
  --gzm-ink:var(--ink,#181D13); --gzm-soft:var(--ink-soft,#5C6353);
  --gzm-accent:var(--turf,#2E9E5B); --gzm-accent-deep:var(--turf-deep,#1E6E3F); --gzm-accent-hover:#17552F;
  --gzm-hair:var(--hair,rgba(24,29,19,.12)); --gzm-danger:#A3321F;
  --gzm-mono:var(--mono,ui-monospace,monospace); --gzm-display:var(--display,system-ui,sans-serif);
  padding:104px 0 56px; color:var(--gzm-ink);
}
.gzm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gzm :focus-visible{outline:3px solid var(--gzm-accent-deep);outline-offset:2px}

/* intro */
.gzm-intro .marker{margin-bottom:14px}
.gzm-intro h1{font-family:var(--gzm-display);font-weight:600;font-size:clamp(2rem,6vw,3.6rem);line-height:1;letter-spacing:-.025em}
.gzm-lead{color:var(--gzm-soft);font-size:1.02rem;max-width:52ch;margin-top:12px}
.gzm-privacy{margin-top:10px;font-size:.92rem;max-width:60ch}

/* layout: stacked on phones, map + panel side by side from 960px */
.gzm-app{display:grid;grid-template-columns:1fr;gap:18px;margin-top:22px}
@media(min-width:960px){
  .gzm-preview{height:clamp(320px,52vh,480px)}
  .gzm-app{grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
}
@media(max-width:640px){.gzm-app.wrap{padding-left:12px;padding-right:12px}}

/* buttons: 48px touch targets; turf-deep background for 4.5:1 text contrast */
.gzm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;
  font:600 1rem/1.2 var(--body,system-ui,sans-serif);border:2px solid var(--gzm-accent-deep);border-radius:4px;
  background:var(--gzm-accent-deep);color:#fff;cursor:pointer;text-align:center;touch-action:manipulation}
.gzm-btn:hover{background:var(--gzm-accent-hover);border-color:var(--gzm-accent-hover)}
.gzm-btn.ghost{background:#fff;color:var(--gzm-accent-deep)}
.gzm-btn.ghost:hover{background:var(--gzm-paper-2)}
.gzm-btn:disabled{opacity:.45;cursor:not-allowed}
.gzm-link{background:none;border:0;padding:12px 0;min-height:44px;font:600 .95rem var(--body,system-ui,sans-serif);
  color:var(--gzm-accent-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gzm-link:disabled{color:var(--gzm-soft);opacity:.6;cursor:not-allowed;text-decoration:none}

/* search */
.gzm-search{display:flex;gap:8px;scroll-margin-top:92px}
.gzm-search input{flex:1;min-width:0;min-height:48px;padding:10px 14px;font:1rem var(--body,system-ui,sans-serif);
  border:2px solid var(--gzm-hair);border-radius:4px;background:#fff;color:var(--gzm-ink)}
.gzm-search input:focus{border-color:var(--gzm-accent-deep);outline:none}
.gzm-search-note{min-height:1.5em;font-size:.82rem;color:var(--gzm-soft);margin:6px 2px}
.gzm-search-note a{text-decoration:underline}

/* preview map on the page: a picture, not a control (no drag capture) */
.gzm-preview{position:relative;height:clamp(220px,34svh,320px);border-radius:6px;overflow:hidden;border:1px solid var(--gzm-hair);background:#2b2f27}
.gzm-stage{position:absolute;inset:0}
.gzm-map{position:absolute;inset:0}
.gzm-map.leaflet-container{font:12px/1.4 var(--body,system-ui,sans-serif);background:#2b2f27}
.gzm-preview .gzm-map{cursor:default}
.gzm .leaflet-control-attribution{font-size:11px;background:rgba(255,255,255,.85);color:#222}
.gzm .leaflet-control-attribution a{color:#1b4f7a}
.gzm .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:22px}
.gzm-results{list-style:none;background:#fff;border:1px solid var(--gzm-hair);border-radius:6px;margin:0 0 10px;overflow:hidden}
.gzm-result{display:block;width:100%;text-align:left;padding:14px 16px;min-height:48px;background:none;border:0;
  border-top:1px solid var(--gzm-hair);font:.95rem var(--body,system-ui,sans-serif);color:var(--gzm-ink);cursor:pointer}
.gzm-results li:first-child .gzm-result{border-top:0}
.gzm-result:hover,.gzm-result:focus{background:var(--gzm-paper)}
.gzm-notice{position:absolute;z-index:1000;bottom:24px;left:8px;right:8px;padding:6px 10px;border-radius:4px;font-size:.8rem;
  background:rgba(255,255,255,.94);color:var(--gzm-ink);box-shadow:0 2px 10px rgba(0,0,0,.2);pointer-events:none}
.gzm-notice.dev{background:#FFF4D6;font-family:var(--gzm-mono);font-size:.7rem;letter-spacing:.02em}
.gzm-notice.warn{background:#FCE7E3;color:#5A1A0E}
/* centre cross: only for keyboard use (map or "Add point" focused) */
.gzm-crosshair{display:none;position:absolute;z-index:999;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;pointer-events:none}
.gzm-modal:has(.gzm-map:focus-visible) .gzm-crosshair,.gzm-modal:has(.gzm-addpt:focus) .gzm-crosshair{display:block}
.gzm-crosshair::before,.gzm-crosshair::after{content:"";position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.6)}
.gzm-crosshair::before{left:17px;top:0;width:2px;height:36px}
.gzm-crosshair::after{top:17px;left:0;height:2px;width:36px}

/* full-screen drawing screen */
.gzm.gzm-modal{position:fixed;inset:0;z-index:5000;height:100vh;height:100dvh;padding:0;display:flex;flex-direction:column;
  background:#1c2019;overscroll-behavior:contain;touch-action:none}
.gzm-modal[hidden]{display:none}
.gzm-mtop{display:flex;align-items:flex-start;gap:10px;padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left));
  background:var(--gzm-paper);border-bottom:1px solid var(--gzm-hair)}
.gzm-mtitle{flex:1;min-width:0}
.gzm-mtitle h2{font:600 1.08rem/1.25 var(--gzm-display);margin:4px 0 0}
.gzm-mhint{font-size:.84rem;color:var(--gzm-soft);line-height:1.35}
.gzm-mode{background:none;border:0;padding:6px 0;min-height:36px;font:600 .88rem var(--body,system-ui,sans-serif);color:var(--gzm-accent-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gzm-x{flex:none;width:48px;height:48px;border:1px solid var(--gzm-hair);border-radius:50%;background:#fff;color:var(--gzm-ink);font-size:28px;line-height:1;cursor:pointer}
.gzm-mbody{position:relative;flex:1;min-height:0}
.gzm-mbar{position:relative;display:flex;align-items:center;gap:10px;padding:8px calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));
  background:var(--gzm-paper);border-top:1px solid var(--gzm-hair)}
.gzm-mbar .gzm-btn{padding:8px 16px;flex:none}
.gzm-size{flex:1;min-width:0;text-align:center;font-weight:600;font-size:.95rem;line-height:1.25;font-variant-numeric:tabular-nums}
/* keyboard path: hidden until focused, then shown above the bar */
.gzm-addpt{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;
  min-height:44px;padding:8px 16px;border:2px solid var(--gzm-accent-deep);border-radius:22px;background:#fff;color:var(--gzm-accent-deep);
  font:600 .92rem var(--body,system-ui,sans-serif);cursor:pointer;z-index:1001;
  clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}
.gzm-addpt:focus{clip-path:none;width:auto;height:auto;overflow:visible;padding:8px 16px;border:2px solid var(--gzm-accent-deep)}
.gzm-confirm{position:absolute;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(24,29,19,.55)}
.gzm-confirm[hidden]{display:none}
.gzm-confirm-box{max-width:360px;width:100%;background:#fff;border-radius:8px;padding:18px;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.gzm-confirm-q{font-weight:600;margin-bottom:14px}
.gzm-confirm-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gzm-btn.danger{background:var(--gzm-danger);border-color:var(--gzm-danger)}
.gzm-btn.danger:hover{background:#7F2617;border-color:#7F2617}
/* while the drawing screen is open: page locked, header and sticky bar hidden */
body.gzm-modal-open{position:fixed;left:0;right:0;overflow:hidden}
body.gzm-modal-open > header,body.gzm-modal-open .stickycta{display:none}

/* Geoman vertex handles: bigger on touch screens */
.gzm .marker-icon{background:#fff;border:2px solid var(--gzm-accent-deep)}
@media(pointer:coarse){
  .gzm .marker-icon{width:22px!important;height:22px!important;margin:-11px 0 0 -11px!important}
  .gzm .marker-icon-middle{width:16px!important;height:16px!important;margin:-8px 0 0 -8px!important}
}
.gzm .gzm-label{background:rgba(24,29,19,.82);color:#fff;border:0;box-shadow:none;font:600 12px/1.2 var(--body,system-ui,sans-serif);padding:3px 7px}
.gzm .gzm-label::before{display:none}

/* panel */
.gzm-start{width:100%}
.gzm [hidden]{display:none!important}
.gzm-chooser{margin-top:14px;padding:14px;border:2px solid var(--gzm-accent-deep);border-radius:6px;background:#fff}
.gzm-chooser-title{font-weight:600;margin-bottom:10px}
.gzm-chooser-list{list-style:none;display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:520px) and (max-width:959px){.gzm-chooser-list{grid-template-columns:1fr 1fr}}
.gzm-svc{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;text-align:left;
  background:var(--gzm-paper);border:1px solid var(--gzm-hair);border-radius:4px;font:500 1rem var(--body,system-ui,sans-serif);color:var(--gzm-ink);cursor:pointer}
.gzm-svc:hover{border-color:var(--gzm-accent-deep)}
.gzm-swatch{display:inline-block;flex:none;width:18px;height:18px;border-radius:3px;border:1px solid rgba(0,0,0,.35)}
.gzm-h2{font-family:var(--gzm-display);font-weight:600;font-size:1.35rem;margin:24px 0 8px}
.gzm-empty{color:var(--gzm-soft);font-size:.95rem}
.gzm-list{list-style:none}
.gzm-group{padding:10px 0;border-top:1px solid var(--gzm-hair)}
.gzm-group-h{display:flex;align-items:center;gap:10px;font:600 1rem var(--body,system-ui,sans-serif);margin-bottom:4px}
.gzm-shapes{list-style:none}
.gzm-shape{padding:6px 0 6px 28px}
.gzm-shape-row{display:flex;align-items:center;gap:6px}
.gzm-shape-src{font-size:.84rem;color:var(--gzm-ink);font-style:italic}
.gzm-obscured{min-height:40px}
.gzm-obscured-note{margin-top:10px;padding:10px 12px;border-left:3px solid var(--gzm-accent-deep);background:#fff;font-size:.95rem}
.gzm-shape-t{flex:1;min-width:0;display:flex;flex-direction:column}
.gzm-shape-n{font-size:.86rem;color:var(--gzm-soft)}
.gzm-shape-v{font-weight:600;font-variant-numeric:tabular-nums}
.gzm-shape-p{font-size:.84rem;color:var(--gzm-soft);font-variant-numeric:tabular-nums}
.gzm-mini{min-height:44px;min-width:56px;padding:6px 10px;border:1px solid var(--gzm-hair);border-radius:4px;background:#fff;
  font:600 .88rem var(--body,system-ui,sans-serif);color:var(--gzm-accent-deep);cursor:pointer}
.gzm-mini.danger{color:var(--gzm-danger)}
.gzm-mini:hover{border-color:currentColor}
.gzm-totals{border-top:2px solid var(--gzm-ink);padding-top:6px}
.gzm-total{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-variant-numeric:tabular-nums}
.gzm-total .k{font-family:var(--gzm-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gzm-soft);padding-top:3px}
.gzm-total .v{font-weight:600;text-align:right}
.gzm-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem;cursor:pointer}
.gzm-check input{width:20px;height:20px;flex:none;accent-color:var(--gzm-accent-deep)}
.gzm-check.small{font-size:.88rem;min-height:40px;gap:8px}
.gzm-estimate{margin-top:14px;padding:14px;background:var(--gzm-paper-2);border-radius:6px}
.gzm-est-h{font-weight:600;margin-bottom:4px}
.gzm-est-msg{font-size:.98rem}
.gzm-cta{margin-top:18px;display:grid;gap:10px}
.gzm-cta p{font-size:.98rem}
.gzm-cta .gzm-btn{width:100%;word-break:break-word}
.gzm-fine{font-size:.8rem;color:var(--gzm-soft);margin-top:4px}

/* the sticky CTA covers the bottom of the screen on phones; leave room for it */
@media(max-width:860px){.gzm{padding-bottom:96px}}

/* ---- round 3: trees and shadows ---- */
/* background switch + photo chip, top right of the map (under the close button in the drawing screen) */
.gzm-overlays{position:absolute;z-index:1000;top:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:calc(100% - 70px)}
/* the column's empty space must not swallow map taps; only its controls do */
.gzm-overlays{pointer-events:none}
.gzm-overlays > *, .gzm-photo > *{pointer-events:auto}
.gzm-photo{pointer-events:none}
.gzm-basemap{display:flex;border:0;margin:0;padding:2px;border-radius:22px;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.gzm-basemap label{position:relative;cursor:pointer}
.gzm-basemap input{position:absolute;opacity:0;width:1px;height:1px}
.gzm-basemap span{display:block;min-height:40px;min-width:44px;padding:10px 12px;border-radius:20px;font:600 .82rem/1.2 var(--body,system-ui,sans-serif);color:var(--gzm-ink)}
.gzm-basemap input:checked + span{background:var(--gzm-accent-deep);color:#fff}
.gzm-basemap input:focus-visible + span{outline:3px solid var(--gzm-accent-deep);outline-offset:2px}
.gzm-preview .gzm-basemap span{min-height:36px;padding:8px 10px}
.gzm-chip{min-height:40px;padding:8px 14px;border:0;border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.3);
  font:600 .82rem var(--body,system-ui,sans-serif);color:var(--gzm-ink);cursor:pointer}
.gzm-chip:disabled{opacity:.5;cursor:not-allowed}
.gzm-photo{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.gzm-photo-menu{background:#fff;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.3);padding:8px;min-width:200px}
.gzm-photo-note{font-size:.8rem;color:var(--gzm-soft);margin:2px 4px 6px}
.gzm-photo-list{list-style:none}
.gzm-photo-opt{display:block;width:100%;min-height:44px;padding:10px;text-align:left;border:0;border-radius:4px;background:none;font:500 .92rem var(--body,system-ui,sans-serif);cursor:pointer}
.gzm-photo-opt[aria-pressed="true"]{background:var(--gzm-paper-2);font-weight:600}
/* drawing screen: link row under the hint */
.gzm-mlinks{display:flex;flex-wrap:wrap;gap:4px 16px}
/* "Enter size instead" sheet, above the bottom bar */
.gzm-sheet{position:relative;z-index:1002;padding:12px calc(14px + env(safe-area-inset-right)) 6px calc(14px + env(safe-area-inset-left));background:#fff;border-top:1px solid var(--gzm-hair);box-shadow:0 -6px 18px rgba(0,0,0,.2)}
.gzm-sheet-title{font-weight:600;margin-bottom:8px}
.gzm-size-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.gzm-field{display:flex;flex-direction:column;gap:2px;font-size:.84rem;color:var(--gzm-soft);flex:1;min-width:88px}
.gzm-field input{min-height:48px;padding:8px 10px;font:1.05rem var(--body,system-ui,sans-serif);border:2px solid var(--gzm-hair);border-radius:4px;color:var(--gzm-ink);width:100%}
.gzm-field input:focus{border-color:var(--gzm-accent-deep);outline:none}
.gzm-times{padding-bottom:12px;font-weight:600}
.gzm-units{display:flex;border:1px solid var(--gzm-hair);border-radius:4px;margin:0;padding:0;overflow:hidden}
.gzm-units label{position:relative;cursor:pointer}
.gzm-units input{position:absolute;opacity:0;width:1px;height:1px}
.gzm-units span{display:block;min-width:48px;min-height:48px;padding:13px 10px;text-align:center;font-weight:600}
.gzm-units input:checked + span{background:var(--gzm-accent-deep);color:#fff}
.gzm-units input:focus-visible + span{outline:3px solid var(--gzm-accent-deep);outline-offset:-3px}
.gzm-size-error{min-height:1.2em;color:var(--gzm-danger);font-size:.88rem;font-weight:600}

/* ---- round 4 ---- */
.gzm-sv{margin:8px 2px 0;font-size:.86rem;color:var(--gzm-soft)}
.gzm-sv a{font-weight:600;color:var(--gzm-accent-deep);text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:32px;padding-top:4px}
.gzm-snap{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:.88rem;cursor:pointer}
.gzm-snap input{width:18px;height:18px;accent-color:var(--gzm-accent-deep)}
.gzm-accuracy{margin-top:8px;font-size:.9rem;color:var(--gzm-soft)}
.gzm-older{background:#FFF4D6;border:1px solid #D9B44A}
.gzm-photo-menu{max-height:min(60vh,360px);overflow:auto}
.gzm-preview .gzm-photo-menu{max-height:170px}
.gzm-preview .gzm-chip{min-height:36px;padding:6px 12px}

/* ---- round 5 ---- */
/* Keep every map pane and control inside the preview's own stacking context,
   so none of them can draw over the fixed site header (z 50) or sticky bar. */
.gzm-preview{isolation:isolate;z-index:0}
.gzm-startover{display:block;color:var(--gzm-danger)}
.gzm-shared{margin-bottom:14px;padding:12px 14px;border-left:3px solid var(--gzm-accent-deep);background:#fff;font-size:.95rem}
.gzm-shared-est{margin-top:8px}
.gzm-field.wide{min-width:0}
.gzm-field textarea{min-height:80px;padding:8px 10px;font:1rem var(--body,system-ui,sans-serif);border:2px solid var(--gzm-hair);border-radius:4px;color:var(--gzm-ink);width:100%;resize:vertical}
.gzm-field textarea:focus{border-color:var(--gzm-accent-deep);outline:none}
.gzm-send-status{font-size:.92rem;min-height:1.2em}
.gzm-import{margin-top:14px;font-size:.9rem}
.gzm-import summary{cursor:pointer;min-height:40px;padding:8px 0;color:var(--gzm-soft)}
.gzm-import .gzm-btn{margin-top:8px}

/* ---- round 6 ---- */
.gzm-trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.gzm-send-fallback{margin-top:18px;font-size:.98rem}
.gzm-send-fallback a{font-weight:600;color:var(--gzm-accent-deep);text-decoration:underline}

/* ---------- round 7: the six-step service request (signup.js) ---------- */
.gzm-talk{font-size:.92rem;color:var(--gzm-soft);margin-top:6px}
.gzm-talk a{color:var(--gzm-accent-deep);font-weight:600}
.gzr-progress{margin-top:18px}
.gzr-progress ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.gzr-progress li button,.gzr-progress .gzr-nobtn{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:52px;padding:6px 2px;
  background:none;border:0;border-top:4px solid var(--gzm-hair);font:500 .72rem var(--body,system-ui,sans-serif);color:var(--gzm-soft);cursor:pointer;text-align:center}
.gzr-progress li button:disabled{cursor:default}
.gzr-progress .n{font:600 .8rem var(--mono,ui-monospace,monospace)}
.gzr-progress .t{line-height:1.2}
.gzr-progress li.is-done button{border-top-color:var(--gzm-accent);color:var(--gzm-ink)}
.gzr-progress li.is-skipped button{border-top-style:dashed;border-top-color:var(--gzm-accent)}
.gzr-progress li.is-current button,.gzr-progress li.is-current .gzr-nobtn{border-top-color:var(--gzm-accent-deep);color:var(--gzm-ink);font-weight:700}
.gzr-progress li button:focus-visible{outline:3px solid var(--gzm-accent-deep);outline-offset:2px}
.gzr-stepline{font:.8rem var(--mono,ui-monospace,monospace);color:var(--gzm-soft);margin-top:6px}
@media(min-width:640px){.gzr-progress li button,.gzr-progress .gzr-nobtn{font-size:.85rem}}
.gzr-head{grid-column:1/-1}
.gzr-head .gzm-h2{margin:0}
.gzr-hint{font-size:.95rem;color:var(--gzm-soft);margin:4px 0 12px;max-width:62ch}
.gzr-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px}
.gzr-nav .gzm-btn{flex:1 1 auto}
@media(min-width:640px){.gzr-nav .gzm-btn{flex:0 0 auto}}
.gzm[data-step="address"] .gzm-panel{display:none}
.gzm[data-step="address"] .gzm-app{grid-template-columns:1fr}
.gzr-step{margin-top:22px;display:grid;gap:10px;max-width:760px}
.gzr-step[hidden]{display:none}
.gzr-group{border:0;margin:6px 0 10px;padding:0;display:grid;gap:10px}
.gzr-group-h{font:600 .78rem var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--gzm-accent-deep);margin-bottom:4px}
.gzr-svc{border:2px solid var(--gzm-hair);border-radius:6px;padding:10px 14px;background:#fff}
.gzr-svc.is-on{border-color:var(--gzm-accent)}
.gzr-svc-main{display:flex;gap:12px;align-items:flex-start;cursor:pointer;min-height:44px}
.gzr-svc-main input,.gzr-choice input,.gzr-consent input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--gzm-accent-deep)}
.gzr-svc-t{display:flex;flex-direction:column}
.gzr-svc-b{font-size:.88rem;color:var(--gzm-soft)}
.gzr-opt,.gzr-fieldset{border:0;margin:8px 0 0;padding:0 0 0 34px;display:flex;flex-wrap:wrap;gap:4px 16px}
.gzr-fieldset{padding-left:0}
.gzr-opt legend,.gzr-fieldset legend{font-size:.85rem;font-weight:600;margin-bottom:2px;padding:0}
.gzr-choice{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.95rem;cursor:pointer}
.gzr-areas{flex-direction:column}
.gzr-skipped{background:var(--gzm-frost,#EAF1F1);padding:10px 14px;border-radius:6px;font-size:.95rem}
.gzr-details{display:grid;gap:10px}
.gzr-details input[aria-invalid="true"],.gzr-details textarea[aria-invalid="true"]{border-color:var(--gzm-danger)}
.gzr-consent{align-items:flex-start;font-size:.95rem}
.gzr-forget{justify-self:start;font-size:.85rem}
.gzr-rev{border-top:1px solid var(--gzm-hair);padding:12px 0}
.gzr-rev-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gzr-rev-h h3{font:600 1.05rem var(--display,system-ui,sans-serif);margin:0}
.gzr-rev-list{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}
.gzr-rev-sub{display:block;font-size:.88rem;color:var(--gzm-soft)}
.gzr-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:6px 0 0}
.gzr-dl dt{font-size:.85rem;color:var(--gzm-soft)}
.gzr-dl dd{margin:0;word-break:break-word;white-space:pre-line}
.gzr-rev-warn p{color:var(--gzm-danger);font-weight:600;margin:6px 0}
.gzr-sent-before{background:var(--gzm-frost,#EAF1F1);padding:10px 14px;border-radius:6px;font-size:.95rem}
.gzr-send{border-top:1px solid var(--gzm-hair);padding-top:10px}
.gzr-send[hidden]{display:none}
.gzr-send-status{font-size:.95rem;min-height:1.2em;margin-top:8px}
.gzr-send-status:focus{outline:none}
.gzr-send[data-state="sent"] .gzr-send-status{color:var(--gzm-accent-deep);font-weight:600}
.gzr-send[data-state="error"] .gzr-send-status{color:var(--gzm-danger);font-weight:600}
.gzr-send-status a{color:var(--gzm-accent-deep);text-decoration:underline}
.gzm-ref{font:600 .8rem var(--mono,ui-monospace,monospace);background:var(--gzm-ink);color:#fff;border-radius:3px;padding:1px 5px;margin-right:2px}
.gzm-app[hidden],.gzr-nav[hidden],.gzr-hint[hidden],.gzm-h2[hidden]{display:none}
.gzr-progress{scroll-margin-top:84px}
/* round 8: Operations' detail fields */
.gzr-row{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:520px){.gzr-row{grid-template-columns:1fr 1fr}}
.gzr-address{display:grid;gap:10px}
.gzr-address[hidden]{display:none}
.gzr-details select{min-height:48px;padding:8px 10px;font:1rem var(--body,system-ui,sans-serif);border:2px solid var(--gzm-hair);border-radius:4px;color:var(--gzm-ink);background:#fff;width:100%}
.gzr-count{max-width:220px;margin:8px 0 0 34px}
.gzr-count input{min-height:44px}
.gzr-fieldset > .gzr-count{margin-left:0}
.gzr-request-note{background:var(--gzm-frost,#EAF1F1);padding:10px 14px;border-radius:6px;font-size:.95rem;max-width:62ch}
.gzr-text{margin:8px 0 0 34px}

/* ---- M2 (1 Oct 2026): City photo switch, "Is this your property?", buildings ---- */
.gzm-imagery span{text-align:center;line-height:1.1}
.gzm-imagery small{display:block;font-weight:500;font-size:.72rem}
.gzm-imagery input:disabled + span{opacity:.45;cursor:not-allowed}
.gzm-imagery label:has(input:disabled){cursor:not-allowed}
.gzm-preview .gzm-imagery span{padding:6px 10px}
/* bottom left of the map, out of the controls' column, so it never moves them or catches a tap */
.gzm-imagery-note{position:absolute;z-index:1000;left:8px;bottom:34px;pointer-events:none;text-align:left;max-width:200px;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.92);font-size:.74rem;line-height:1.25;color:var(--gzm-ink)}
.gzm-found{margin:6px 0 10px;padding:10px 12px;border:2px solid var(--gzm-accent-deep);border-radius:8px;background:var(--gzm-paper-2,#EFE9DB)}
.gzm-found p{margin:0 0 8px}
.gzm-found-q{display:block;font-weight:600}
.gzm-found[data-weak="true"] .gzm-found-q::before{content:"Closest match. "}
.gzm-found-btns{display:flex;flex-wrap:wrap;gap:8px}
.gzm-bldg-line{display:block}
/* staff page /measure/review: a taller in-page map, editable directly */
.gzv-stage{position:relative;inset:auto;height:clamp(360px,60svh,640px);border-radius:6px;overflow:hidden;border:1px solid var(--gzm-hair);background:#2b2f27}
.gzv-in textarea,.gzv .gzm-field textarea{width:100%;font:.8rem/1.35 var(--mono,monospace);padding:8px;border:2px solid var(--gzm-hair);border-radius:4px}
.gzv-in{margin-bottom:12px}
