.gp-sec{padding:28px 0 64px;background:#f4f7fb}
.gp{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.gp-side{background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:16px;box-shadow:0 6px 22px rgba(7,42,108,.06)}
.gp-side h3{font:700 13px Roboto,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin:16px 0 8px}
.gp-search{display:flex;gap:6px}
.gp-search input{flex:1;min-width:0;border:1px solid #c5d2e3;border-radius:8px;padding:11px 12px;font:500 15px "Open Sans",sans-serif}
.gp-search button{flex:none;width:44px;border:0;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer}
.gp-search button:hover{background:var(--sky)}
.gp-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.gp-tools button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #c5d2e3;background:#fff;color:var(--navy);border-radius:8px;font:600 14px "Open Sans",sans-serif;cursor:pointer}
.gp-tools button:hover,.gp-tools button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.gp-measure-out{margin:10px 0 0;padding:9px 11px;border-radius:8px;background:#eaf6ee;color:#14532d;font:600 14px "Open Sans",sans-serif}
.gp-r,.gp-c{display:flex;align-items:center;gap:9px;padding:6px 0;font:500 15px "Open Sans",sans-serif;color:#1d2b3f;cursor:pointer}
.gp-r input,.gp-c input{width:18px;height:18px;accent-color:var(--green)}
.gp-sw{display:inline-block;width:22px;height:6px;border-radius:4px}
.gp-sw.dot{width:11px;height:11px;border-radius:50%;background:#e8590c;border:2px solid #fff;box-shadow:0 0 0 1px #e8590c}
.gp-date{margin-top:8px}
.gp-date label{display:block;font:600 13px "Open Sans",sans-serif;color:#4a5b73;margin-bottom:4px}
.gp-date input{width:100%;border:1px solid #c5d2e3;border-radius:8px;padding:9px 10px;font:500 15px "Open Sans",sans-serif}
.gp-note{margin:16px 0 0;font-size:12.5px;line-height:1.5;color:#5a6b84}
.gp-mapwrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid #dbe4ef;box-shadow:0 6px 22px rgba(7,42,108,.08);background:#dfe9f3}
#gp-map{height:min(76vh,720px);min-height:480px;width:100%}
.gp-coord{position:absolute;left:10px;bottom:10px;z-index:500;background:rgba(255,255,255,.92);padding:5px 10px;border-radius:6px;font:600 12px "Open Sans",sans-serif;color:#1d2b3f}
.gp-status{position:absolute;right:10px;top:10px;z-index:500;background:rgba(7,42,108,.92);color:#fff;padding:7px 12px;border-radius:8px;font:600 13px "Open Sans",sans-serif;max-width:70%}
.gp-lbl{background:#fff;border:0;border-radius:4px;font:700 12px "Open Sans",sans-serif;color:#072a6c;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.gp.full{position:fixed;inset:0;z-index:2000;background:#f4f7fb;padding:10px;grid-template-columns:300px 1fr;height:100%}
.gp.full .gp-side{height:calc(100% - 0px);overflow:auto}
.gp.full #gp-map{height:calc(100vh - 22px);min-height:0}
@media (max-width:900px){.gp{grid-template-columns:1fr}.gp-mapwrap{order:-1}#gp-map{height:62vh;min-height:380px}.gp.full{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}.gp.full .gp-side{display:none}.gp.full #gp-map{height:calc(100vh - 22px)}}
@media print{body>header,body>footer,.phero,.gp-side,.gp-coord,.gp-status,.leaflet-control-zoom{display:none!important}.gp-sec{padding:0;background:#fff}.gp{display:block}#gp-map{height:90vh}}
