/* Unified map workspace. */



.topbar{height:60px;align-items:center;padding-top:0;gap:20px}.workspace{height:calc(100dvh - 60px)}
.brand-symbol,.brand-symbol img{width:30px;height:30px}.brand-text strong{font-size:17px}.brand{height:36px}
.app-menubar{height:36px;margin:0;display:flex;align-items:center;gap:2px}.app-menu,.topbar .app-menu:nth-child(n){display:block}
.app-menu>summary,.menu-settings{padding:8px 10px;white-space:nowrap;border-radius:6px;font-size:13px}.menu-settings:hover,.menu-settings.active{background:var(--active);color:var(--accent)}.menu-help{display:none}
.top-actions{height:36px}.editing-controls{border:0;padding:0;margin:0;min-width:0}.editing-controls:disabled{opacity:.65}
#panelHost{position:absolute;right:72px;left:auto;top:12px;bottom:76px;width:320px;max-height:none;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;z-index:20}
#panelHost[data-side=left]{left:72px;right:auto;border:1px solid var(--border)}
.map-search{top:20px;width:min(400px,calc(100% - 40px))}
#mapWelcome{display:none!important}.map-area{cursor:grab}.map-area.dragging{cursor:grabbing}
.app-menu .presentation-switch{position:static;display:flex;padding:4px;margin:6px;border:1px solid var(--border);box-shadow:none;flex-direction:column;width:auto;transform:none;background:var(--field)}
.app-menu .presentation-switch button{width:100%;text-align:left;padding:9px 10px;justify-content:flex-start}
#dock-project>.project-panel[data-panel="2"]>summary{display:flex}
@media(max-width:1200px){.topbar{gap:12px}}
@media(max-width:1000px){.topbar .brand-text{display:none}.top-actions>.btn span{display:none}}
@media(max-width:620px){.topbar{height:92px;align-items:flex-start;padding:8px;gap:8px}.workspace{height:calc(100dvh - 92px)}.topbar .brand-text{display:block}.top-actions{margin-left:auto}.top-actions .quiet-btn{display:none}
.app-menubar{position:absolute;left:8px;right:8px;top:48px;justify-content:space-between}.app-menu>summary,.menu-settings{padding:8px 10px}
#panelHost,#panelHost[data-side=left]{left:60px;right:60px;top:64px;bottom:76px;width:auto}.panel-body{padding:14px}.map-search{left:12px;top:12px;width:calc(100% - 24px)}.cad-status-chip{top:64px}
}
.object-summary{padding:4px 0 18px}.object-summary-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--active);color:var(--accent);margin-bottom:16px}.object-summary-icon .ico{width:23px;height:23px}.summary-kind{font-size:11px;color:var(--muted)}.object-summary h3{font-size:19px;line-height:1.35;margin-top:6px;overflow-wrap:anywhere}
.browse-facts .prop-row{align-items:flex-start;gap:16px;padding:12px 0}.browse-facts .prop-row strong{max-width:60%;overflow-wrap:anywhere}.browse-note,.browse-empty{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0}#startObjectDesign{width:100%;margin:4px 0}

.cadastre-connection{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:12px}
.cadastre-connection .browse-note{margin:12px 0 0}

#dock-cadastre .btn{height:auto;min-height:36px;white-space:normal;line-height:1.4}#onlineCadZoom{margin-bottom:8px}

/* Navigation remains reachable beneath either overlay panel. */
.map-controls{bottom:12px;flex-direction:row;align-items:center}.map-controls .control-rule{width:1px;height:22px;margin:0 3px}
@media(max-width:620px){
 #panelHost,#panelHost[data-side=left]{bottom:146px}
 .map-controls{bottom:80px}
 .map-bottom-left{bottom:8px;max-height:64px;max-width:calc(100% - 24px);overflow:auto}
 .map-attribution{max-width:100%;overflow-wrap:anywhere;line-height:14px}
}

/* Let the map continue below short palettes; panels grow only with their content. */
.rail-shell,.dock-rail{position:absolute;top:12px;z-index:24}
.rail-shell{left:10px}.dock-rail{right:10px}
.toolrail,.dock-rail{bottom:auto;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:5px;gap:3px}
.toolrail .rail-pin,.dock-help{margin-top:3px;border-top:1px solid var(--border)}
.map-search{left:82px;width:min(400px,calc(100% - 164px))}
.cad-status-chip{left:82px;max-width:calc(100% - 164px)}
#panelHost,#panelHost[data-side=left]{bottom:auto;max-height:calc(100% - 90px)}
#panelHost{right:82px}#panelHost[data-side=left]{left:82px}
#panelHost .panel-body{flex:0 1 auto}
.panel-header h2{font-size:17px}.panel-header .icon-button{width:38px;height:38px}
.project-panel>summary,.property-group>summary,#dock-project>.project-panel[data-panel="2"]>summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:8px 6px;font-size:15px;line-height:1.4;font-weight:600;color:var(--text);border-radius:5px;cursor:pointer}
.project-panel>summary::after,.property-group>summary::after{content:"";display:block;flex:0 0 8px;width:8px;height:8px;margin:0 6px 4px auto;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);color:var(--muted)}
.project-panel[open]>summary::after,.property-group[open]>summary::after{transform:rotate(225deg);margin-bottom:-4px}
.project-panel>summary:hover,.property-group>summary:hover{background:var(--elev)}
.panel-body :is(.btn,.inspector-action,.side-row){min-height:38px;height:auto;font-size:14px;line-height:1.4;white-space:normal}
.panel-body :is(.hint,.coord-note,.browse-note,.prop-row,label){font-size:14px;line-height:1.5}
.panel-body input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.panel-body :is(summary,button,input):focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:620px){.rail-shell{left:4px}.dock-rail{right:4px}.map-search{left:62px;width:calc(100% - 124px)}.cad-status-chip{left:62px;max-width:calc(100% - 124px)}#panelHost,#panelHost[data-side=left]{left:60px;right:60px;width:auto;max-height:calc(100% - 200px)}.toolrail:hover:not(.pinned):not(:has(:focus-visible)){width:52px}.tool-flyout{position:fixed;left:60px;top:165px;max-width:calc(100vw - 120px)}}
@media(max-height:520px){.toolrail,.dock-rail{max-height:calc(100dvh - 112px);overflow-y:auto}.tool-flyout{position:fixed;left:74px;top:100px;max-height:calc(100dvh - 112px)}}

.panel-body .map-source-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;background:none}
.panel-body .map-source-switch button{min-width:0;padding:6px 6px 8px;justify-content:flex-start;gap:0;border-radius:10px;background:var(--elev);font-size:14px;line-height:1.4;color:var(--text)}
.panel-body .map-source-switch button:hover{border-color:var(--accent)}
.panel-body .map-source-switch button.active{background:var(--active);color:var(--accent)}
.map-source-name,.panel-body .map-source-switch small{padding-inline:4px;overflow-wrap:anywhere}
.map-source-name{margin-top:5px;font-weight:600}
.map-source-preview{
 position:relative;display:block;width:100%;height:62px;overflow:hidden;border-radius:6px;
 background-position:center;background-size:cover;
 box-shadow:inset 0 0 0 1px #10152826;
}
.map-source-preview[data-preview=street]{
 background-color:#e9ebe1;background-image:url('../assets/map-preview-street.jpg');
}
.map-source-preview[data-preview=osm]{
 background-color:#e4e8e2;background-image:url('../assets/map-preview-osm.jpg');
}
.map-source-preview:is([data-preview=satellite],[data-preview=hybrid]){
 background-color:#374c47;background-image:url('../assets/map-preview-aerial.jpg');
}
.map-source-preview[data-preview=hybrid]::after{
 content:"";position:absolute;inset:0;background:#ffd581;
 clip-path:polygon(0 56%,28% 56%,49% 52%,60% 45%,88% 45%,100% 53%,100% 58%,88% 50%,60% 50%,50% 57%,28% 61%,0 61%);
}
@media(max-width:620px){
 .map-source-preview{height:52px}
}
.map-source-preview[data-preview=grid]{
 background-color:var(--field);
 background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(var(--border) 1px,transparent 1px);
 background-size:14px 14px;
}
.panel-body .map-source-switch button small,.panel-body .layer-text small{font-size:12px;line-height:1.45}
.panel-body .map-layer{min-height:44px;cursor:pointer}
