/* V88: one dock layout for public and administrator surveying maps. */
.professional-interactive-map{position:relative;width:100%;background:#e5ece5;border:1px solid #d5ded7;border-radius:4px;z-index:1;font:13px/1.5 "Microsoft YaHei",system-ui,sans-serif}
.professional-workspace .professional-interactive-map{height:520px;min-height:360px}
.professional-interactive-map.pm-selecting{cursor:crosshair}
.professional-interactive-map [hidden],.pm-map-dock [hidden]{display:none!important}
.pm-map-dock{--pm-control:34px;position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:5px 6px;margin:0 0 7px;border:1px solid #cbd8ce;border-radius:6px;background:#fffffff2;color:#244e32;font:12px/1.4 "Microsoft YaHei",system-ui,sans-serif}
.pm-map-dock .pm-map-toolbar,.pm-map-dock .pm-context-actions,.pm-map-dock .pm-drawer-head{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.pm-map-dock .pm-map-toolbar{width:100%}
.pm-map-dock :is(.pm-map-toolbar,.pm-drawer-panel,.pm-context-actions,.pm-drawer-head) :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=range])){box-sizing:border-box;min-height:var(--pm-control);height:var(--pm-control);margin:0!important;padding:4px 7px;font:inherit;line-height:1.25;border:1px solid #bdcfc1;border-radius:4px;color:#244e32;background:#fff;vertical-align:middle}
.pm-map-dock button{min-width:var(--pm-control);cursor:pointer}
.pm-map-dock .pm-map-toolbar>select{flex:1 1 170px;width:auto;min-width:130px;max-width:100%}
.pm-map-dock :is(button,select,input):disabled{opacity:.5;cursor:default}
.pm-map-dock button[aria-pressed=true],.pm-map-dock button[aria-expanded=true]{background:#e1eee4;border-color:#8da996}
.pm-map-dock :is(button,select,input,a):focus-visible{outline:2px solid #216547;outline-offset:2px}
.pm-tool-context{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;min-width:0}
.pm-map-dock .pm-map-note{flex:1 1 220px;min-width:0;margin:0!important;padding:0!important;border:0;background:none;box-shadow:none;font:12px/1.45 "Microsoft YaHei",system-ui,sans-serif;color:#425f4b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pm-context-actions{flex:0 1 auto;justify-content:flex-end}
.pm-map-dock .pm-map-drawer{position:absolute;top:calc(100% + 5px);left:auto;right:0;z-index:620;box-sizing:border-box;width:440px;max-width:100%;max-height:min(270px,42dvh);overflow:auto;overscroll-behavior:contain;padding:9px;border:1px solid #b9cdbf;border-radius:7px;background:#fffffff9;box-shadow:0 5px 18px #163b332b}
.pm-map-dock .pm-drawer-head{justify-content:space-between;margin-bottom:7px}
.pm-map-dock .pm-drawer-head strong{font-size:13px}
.pm-map-dock .pm-settings-group{min-width:0;border:0;border-top:1px solid #d9e3dc;margin:7px 0 0;padding:7px 0 0}.pm-map-dock .pm-settings-group:first-child{margin-top:0}.pm-map-dock .pm-settings-group legend{font-size:12px;line-height:1.4;font-weight:600;padding:0 5px 0 0}.pm-map-dock .pm-map-full-help{white-space:pre-line}
.pm-map-dock .pm-drawer-panel{margin:0;padding:0;border:0;min-width:0;max-width:none;box-shadow:none;position:static;display:block}
.pm-map-dock .pm-drawer-panel h3{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pm-map-dock .pm-drawer-panel label{display:grid;gap:4px;min-width:0;font-size:12px;margin:0;padding:0;line-height:1.35}
.pm-map-dock .pm-base-choice{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pm-map-dock .pm-base-choice select{flex:1 1 190px;width:auto;min-width:120px}
.pm-map-dock .pm-layer-check{display:flex;align-items:center;gap:7px}
.pm-map-dock .pm-layer-check input[type=checkbox]{width:16px;height:16px;margin:0;flex:0 0 auto}
.pm-map-dock .pm-map-precision .pm-precision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}
.pm-map-dock .pm-precision-grid label{display:grid;gap:4px;min-width:0}.pm-map-dock .pm-survey-info{display:grid;gap:8px}.pm-map-dock .pm-layer-tools>label:has(>select){display:flex;align-items:center;gap:7px}.pm-map-dock .pm-layer-tools>label:has(>select)>select{flex:1;min-width:0}.pm-map-dock .pm-layer-check{min-height:var(--pm-control)}
.pm-map-dock .pm-drawer-panel input:not([type=checkbox]),.pm-map-dock .pm-survey-info select{width:100%;min-width:0}
.pm-map-dock .pm-bearing-adjust,.pm-map-dock .pm-map-external{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.pm-map-dock .pm-map-external a{font-size:12px;color:#2b6343}
.pm-map-dock .pm-map-external a[aria-disabled=true]{color:#78827b;text-decoration:none;pointer-events:none}
.pm-map-dock .pm-hint,.pm-map-dock .pm-map-full-help,.pm-map-dock .pm-base-status{font-size:12px;line-height:1.5;max-width:none;margin:7px 0 0;padding:0;color:#526d5c;overflow-wrap:anywhere}
.pm-map-dock .pm-map-full-help{margin:0}
.pm-map-dock .pm-area-panel{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr);gap:6px 10px;border:0;padding:0}
.pm-map-dock .pm-area-panel h3,.pm-map-dock .pm-area-panel p,.pm-map-dock .pm-area-panel button{grid-column:1/-1}
.pm-map-dock .pm-area-panel select{width:100%;min-width:0}
.pm-map-dock .pm-area-panel output{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:#215842;align-self:center;overflow-wrap:anywhere}
.pm-map-dock .pm-area-panel button{justify-self:start;height:auto;min-height:var(--pm-control)}
.pm-area-chip{position:absolute;bottom:32px;left:50px;right:auto;z-index:450;max-width:calc(100% - 65px);box-sizing:border-box;background:#fffffff2;padding:5px 8px;border:1px solid #b7cabb;border-radius:5px;font:600 12px/1.35 system-ui,sans-serif;color:#215842;cursor:pointer;pointer-events:auto;text-align:left;overflow-wrap:anywhere}
.pm-area-chip[hidden]{display:none!important}
.pm-area-chip:focus-visible{outline:2px solid #216547;outline-offset:2px}
.pm-marker{border:0;background:transparent}
.pm-marker>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid white;border-radius:50%;box-shadow:0 1px 5px #173c2366;font-size:14px;font-weight:700;color:#fff}
.pm-marker-center>span{background:#24643f;font-size:20px}.pm-marker-water>span{background:#227a98}.pm-marker-facing>span{background:#b55431;font-size:12px}.pm-marker-radius>span{background:#518565;font-size:18px}.pm-marker-rear>span{background:#775642;font-size:12px}.pm-marker-helper>span{background:#917552;font-size:11px;width:23px;height:23px}.pm-marker-readonly{cursor:default!important}.pm-marker:focus-visible{outline:3px solid #75aa7d;outline-offset:4px}
.pm-basemap-frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:0;pointer-events:none}.pm-google-active .leaflet-bottom{bottom:24px}.pm-google-active .leaflet-control-attribution{max-width:90%;background:#ffffffeb}
.professional-interactive-map .leaflet-control-container{font:12px/1.5 "Microsoft YaHei",system-ui,sans-serif}.professional-interactive-map .leaflet-control-attribution{font-size:10px;max-width:100%;overflow-wrap:anywhere}.professional-interactive-map .leaflet-control-scale{margin-bottom:6px}.professional-interactive-map .leaflet-control-zoom a{font-size:18px;color:#28543a;width:30px;height:30px;line-height:30px}.professional-interactive-map .leaflet-top,.professional-interactive-map .leaflet-bottom{z-index:500}.professional-interactive-map .leaflet-top{z-index:520}.professional-interactive-map .leaflet-pane{z-index:200}.professional-interactive-map .leaflet-marker-pane{z-index:400}.professional-interactive-map .leaflet-tooltip-pane{z-index:450}
.pm-expanded{position:fixed!important;inset:12px!important;z-index:1400!important;background:#fff!important;padding:12px!important;margin:0!important;display:flex!important;flex-direction:column;gap:8px}.pm-expanded #professionalMap,#mapPanel:fullscreen #professionalMap{height:auto!important;flex:1;min-height:0;border-radius:0}#mapPanel:fullscreen{display:flex;flex-direction:column;background:#fff;padding:12px;gap:8px;width:100%;height:100%;overflow:auto}#mapPanel:fullscreen .map-toolbar,.pm-expanded .map-toolbar{flex-shrink:0}.pm-expanded .pm-map-dock,#mapPanel:fullscreen .pm-map-dock{flex:0 0 auto}.pm-expanded .pm-map-drawer,#mapPanel:fullscreen .pm-map-drawer{max-height:min(300px,45dvh)}
/* Existing administrator form skin is retained; this one form owns its density tokens. */
@media screen{
body.fg-admin-shell .professional-workspace #professionalWork{--admin-control-height:36px;--admin-control-gap:8px;--admin-field-gap:4px;--survey-field-height:36px;--survey-field-font:13px}
body.fg-admin-shell .professional-workspace #professionalWork label{min-width:0;font-size:13px;line-height:1.35;margin:0 0 8px}
body.fg-admin-shell .professional-workspace #professionalWork label:has(>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),>select,>textarea){display:grid;gap:4px}
body.fg-admin-shell .professional-workspace #professionalWork :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),select){box-sizing:border-box;max-width:100%;min-width:0;height:var(--survey-field-height);min-height:var(--survey-field-height);margin:0;padding:4px 8px;font-size:var(--survey-field-font);line-height:1.25}
body.fg-admin-shell .professional-workspace #professionalWork :is(label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),label>select,label>textarea){width:100%}
body.fg-admin-shell .professional-workspace #professionalWork textarea{box-sizing:border-box;min-width:0;max-width:100%;min-height:68px;max-height:240px;margin:0;padding:6px 8px;font-size:var(--survey-field-font);line-height:1.5;resize:vertical}
body.fg-admin-shell .professional-workspace #professionalWork button{box-sizing:border-box;min-height:var(--survey-field-height);margin:0;padding:4px 8px;font-size:var(--survey-field-font);line-height:1.25}
body.fg-admin-shell .professional-workspace #professionalWork .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;min-width:0;margin:0 0 8px}
body.fg-admin-shell .professional-workspace #professionalWork .field-grid>label{margin:0}
body.fg-admin-shell .professional-workspace #professionalWork .search-row{display:flex;align-items:center;gap:6px;min-width:0;margin:0}
body.fg-admin-shell .professional-workspace #professionalWork .search-row>input{flex:1;min-width:0;width:0;margin:0}
body.fg-admin-shell .professional-workspace #professionalWork .search-row>button{flex:0 0 auto;white-space:nowrap}
body.fg-admin-shell .professional-workspace #professionalWork :is(.check,.period-grid label){display:flex;align-items:center;gap:6px}
}
@media(max-width:699px),(pointer:coarse){.pm-map-dock{--pm-control:44px}.pm-map-dock :is(.pm-map-toolbar,.pm-drawer-panel,.pm-context-actions,.pm-drawer-head) :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=range])){font-size:13px;padding:6px 8px}.pm-map-dock .pm-map-toolbar>select{flex-basis:120px;min-width:100px}.pm-map-dock .pm-map-toolbar{gap:4px}.pm-map-dock .pm-context-actions{justify-content:flex-start}.pm-map-dock .pm-map-note{flex:1 1 130px;font-size:12px;-webkit-line-clamp:3}.pm-map-dock button[data-short-label]{font-size:0;padding:6px;min-width:44px}.pm-map-dock button[data-short-label]::before{content:attr(data-short-label);font:12px/1.25 system-ui,sans-serif}.pm-map-dock .pm-map-drawer{width:100%;left:0;right:0;max-height:min(270px,42dvh)}.pm-map-dock .pm-precision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-map-dock .pm-area-panel{grid-template-columns:minmax(0,1fr)}.pm-map-dock .pm-area-panel h3,.pm-map-dock .pm-area-panel p,.pm-map-dock .pm-area-panel button{grid-column:auto}.pm-area-chip{font-size:12px;min-height:44px;display:flex;align-items:center}.professional-workspace .professional-interactive-map{height:500px;min-height:400px}.pm-expanded{inset:0!important;padding:8px!important;border-radius:0!important}body.fg-admin-shell .professional-workspace #professionalWork{--admin-control-height:44px;--survey-field-height:44px;--survey-field-font:14px}body.fg-admin-shell .professional-workspace #professionalWork :is(.check,.period-grid label){min-height:44px}}
@media(max-width:379px){body.fg-admin-shell .professional-workspace #professionalWork .field-grid>label:has(input[type=date]){grid-column:1/-1}}
@media print{.pm-map-dock,.pm-area-chip,.professional-interactive-map .leaflet-control-zoom{display:none!important}}

/* A precise centre stays visible without covering small building outlines. */
.pm-marker-center>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:14px;height:14px;border:1.5px solid #24643f;background:rgba(255,255,255,.85);box-shadow:none;font-size:0;pointer-events:none}
.pm-marker-center>span::after{content:"";width:4px;height:4px;border-radius:50%;background:#24643f}
.pm-marker-center:focus-visible{outline:2px solid #24643f;outline-offset:2px;border-radius:50%}
