/* Peak RD Link v0.4.0 Peak-branded map-first workspace. */
body:has(#projectMap:not(.hidden)) main{max-width:none;padding:10px 12px}
body:has(#projectMap:not(.hidden)) header{padding:9px 18px}
body:has(#projectMap:not(.hidden)) header h1{font-size:16px}
.map-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;min-height:38px}
.map-header button{padding:8px 11px;font-size:12px;white-space:nowrap}
.map-title{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}
.map-title strong{font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.map-title .muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-workspace{height:calc(100vh - 122px);min-height:430px;margin:0}
.map-canvas-wrap{position:relative;height:100%;min-height:430px;overflow:hidden;border:1px solid #354450;border-radius:9px;background:#14212b}
#mapCanvas{position:absolute;inset:0}
.map-floating-left,.map-floating-right{position:absolute;top:12px;z-index:4;display:flex;gap:6px}
.map-floating-left{left:12px}.map-floating-right{right:12px}
.map-float-btn,#mapBasemap{border:1px solid #485a6b;background:#122434ed;color:#f5f7f8;border-radius:6px;padding:9px 11px;font-size:12px;cursor:pointer}
#mapBasemap{width:auto;min-width:115px}
.map-panel{position:absolute;top:57px;bottom:42px;width:min(325px,calc(100% - 24px));z-index:5;overflow-y:auto;background:#142332f5;border:1px solid #354450;border-radius:9px;padding:14px;box-shadow:0 8px 30px #0007;display:none}
.map-panel.open{display:block}
.map-layer-panel{left:12px}.map-inspector{right:12px}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}
.map-panel h4{margin:0 0 8px;font-size:15px}
.drawer-close{background:transparent!important;color:#cfd9e2!important;font-size:24px;padding:0 5px!important;line-height:1}
.map-panel .section-label{font-size:11px;color:#92adbd;text-transform:uppercase;letter-spacing:.09em;margin:14px 0 7px}
#mapStatus{position:absolute;left:12px;bottom:9px;background:#0d1823ed;border:1px solid #3c4a57;color:#e8eff4;border-radius:7px;padding:7px 10px;font-size:11px;max-width:calc(100% - 24px);z-index:3;pointer-events:none}
.map-layer-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #2c4052}.map-layer-row input{width:auto}.layer-swatch{width:21px;height:5px;border-radius:4px;flex-shrink:0}.layer-name{flex:1;font-size:13px}.layer-count{font-size:11px;color:#9eb1be}
.map-value{font-size:13px;overflow-wrap:anywhere;margin-bottom:10px}.map-value strong{display:block;color:#8faabb;font-size:11px;margin-bottom:3px}.map-detail-json{white-space:pre-wrap;word-break:break-word;font-size:11px;background:#0c1824;padding:10px;border-radius:6px;max-height:40vh;overflow:auto}
.map-hint{font-size:12px;color:#a9bfcd;line-height:1.5}.map-warning{font-size:12px;color:#f2d29a;background:#3d301e;border-radius:7px;padding:10px;margin-top:10px}
.maplibregl-popup-content{color:#152332}.maplibregl-control-container .maplibregl-ctrl-top-right{top:48px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.peak-fullscreen header{display:none!important}body.peak-fullscreen main{padding:0!important}
body.peak-fullscreen .map-header{padding:7px 12px;margin:0;background:#0e1720}
body.peak-fullscreen .map-workspace{height:calc(100vh - 48px)}
@media(max-width:720px){.map-header{flex-wrap:wrap}.map-workspace{height:calc(100dvh - 150px)}.map-floating-left{top:12px}.map-panel{bottom:40px}}

/* GL JS uses Mapbox controls and requires visible attribution. */
.mapboxgl-popup-content{color:#152332}
.mapboxgl-ctrl-top-right{top:48px}
.mapboxgl-ctrl-attrib{font-size:10px!important}

/* v0.3.3 geometry editor */
.map-editor-toolbar{position:absolute;top:61px;left:12px;z-index:4;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 30px)}
.map-editor-toolbar .map-float-btn{padding:7px 9px}
.map-editor-toolbar .active-tool{border-color:#e2b832;background:#3f3820}
#mapEditPane input,#mapEditPane textarea{width:100%;background:#101923;color:white;border:1px solid #506074;border-radius:6px;padding:9px;font:inherit}
#mapEditPane label{margin:9px 0 3px}
.map-panel{top:102px}
.map-edit-marker{background:#fff;border:3px solid #e2b832;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 4px #0009;cursor:move}
@media(max-width:700px){.map-editor-toolbar{top:57px;right:9px}.map-panel{top:143px}}

/* v0.3.4 cascading feature catalog and interactive cursor preview */
#mapEditPane select{width:100%;background:#101923;color:white;border:1px solid #506074;border-radius:6px;padding:9px;font:inherit}
#mapEditPane select:focus-visible{outline:2px solid #e2b832;outline-offset:2px}
#mapCanvas.is-drawing .mapboxgl-canvas{cursor:crosshair!important}

/* v0.3.7 insert-vertex action in the inspector */
.map-vertex-tools{margin:9px 0 15px;padding:10px;background:#1b2e3d;border:1px solid #40576a;border-radius:8px}
.map-vertex-tools .map-hint{margin:7px 0 0}
#mapInsertVertex.active-tool{border-color:#e2b832!important;color:#ffe39b;background:#433a20}
#mapInsertVertex.hidden{display:none!important}

/* v0.4.0 Peak black / yellow visual refresh; utility identification colors remain separate. */
body:has(#projectMap:not(.hidden)) main{padding:8px 10px}
.map-canvas-wrap{border-color:#363a3e;background:#121517;border-radius:7px}
.map-header{border-bottom:1px solid #34383a;padding-bottom:7px}
.map-title strong{font-size:15px;color:#f6f4ee}
.map-title .muted{color:#aaaeb1}
.map-float-btn,#mapBasemap{background:#191b1ff2!important;border-color:#55585a!important;color:#f6f6f2!important;border-radius:7px!important;box-shadow:0 2px 9px #0004}
.map-float-btn:hover,#mapBasemap:hover{background:#303236!important;border-color:#f0bf32!important}
.map-float-btn.active-tool,#mapInsertVertex.active-tool{background:#4b3e20!important;border-color:#f0bf32!important;color:#ffe8a0!important}
.map-panel{background:#191c20f7;border:1px solid #404448;box-shadow:0 14px 40px #000a}
.map-panel h4{color:#f6f6f3}
.map-panel .section-label{color:#f0bf32}
.map-layer-row{border-bottom-color:#3c3d3c}
.layer-count,.map-hint{color:#b2b8bc}
#mapStatus{background:#17191cf0;border-color:#444748;color:#eee}
.map-detail-json{background:#121416}
.map-vertex-tools{background:#252629;border-color:#4b4c49}
#mapEditPane input,#mapEditPane textarea,#mapEditPane select{background:#111315;border-color:#4e5357}
.map-edit-marker{border-color:#f0bf32}
.peak-map-brand{position:absolute;right:13px;bottom:32px;z-index:3;background:#17191ce9;color:#f0bf32;border:1px solid #5b4f2e;border-radius:5px;padding:5px 8px;font-size:11px;letter-spacing:.08em;font-weight:800;pointer-events:none;box-shadow:0 2px 9px #0005}
.peak-brand-diamond{font-size:12px}.peak-brand-caption{color:#d9d9d9;font-size:9px;font-weight:600}
.mapboxgl-control-container{font-size:11px}
/* v0.4.1 catalog attribute forms */
.catalog-attrs{border-top:1px solid #41454a;margin-top:14px;padding-top:12px}.catalog-attrs h5{margin:0 0 7px;color:#f0bf32;font-size:14px}.catalog-attrs .attribute-row{margin:8px 0}.catalog-attrs label{margin:7px 0 4px}.catalog-attrs input[type=checkbox]{width:auto}.catalog-attrs select,.catalog-attrs textarea,.catalog-attrs input:not([type=checkbox]){width:100%;background:#151719;color:#fff;border:1px solid #52575c;border-radius:6px;padding:9px}.catalog-admin-grid{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:20px}.catalog-admin-grid select,.catalog-admin-grid input{width:100%;margin:4px 0 9px}.catalog-table{width:100%;border-collapse:collapse}.catalog-table th,.catalog-table td{padding:8px;border-bottom:1px solid #41454a;text-align:left}.symbol-thumb{width:28px;height:28px;object-fit:contain;vertical-align:middle}.catalog-admin-field{border:1px solid #41454a;padding:12px;margin:8px 0;border-radius:8px}@media(max-width:680px){.catalog-admin-grid{grid-template-columns:1fr}}

/* v0.4.5 snapping */
.peak-snap-indicator{width:17px;height:17px;border:3px solid #ffde59;background:#151719aa;border-radius:4px;transform:rotate(45deg);box-shadow:0 0 0 2px #151719,0 0 12px #fff9;pointer-events:none}
#mapSnapToggle.active-tool{background:#4b3e20!important;border-color:#f0bf32!important;color:#ffe8a0!important}
#preferencesPane{max-width:690px;margin:18px auto}#preferencesPane input[type=checkbox]{width:auto;accent-color:#f0bf32;margin-right:9px}#preferencesPane .pref-check{display:flex;align-items:center;padding:7px 0}#preferencesPane select{width:100%;padding:10px;background:#151719;color:white;border:1px solid #52575c;border-radius:7px}#preferencesPane input[type=range]{accent-color:#f0bf32;padding:0}#preferencesStatus{min-height:20px;color:#f0bf32}

/* v0.4.6 geometry editing */
.map-edit-history{display:flex;gap:7px;margin-top:9px}
.map-edit-history button{flex:1}
.map-edit-history button:disabled{opacity:.45;cursor:not-allowed}
#mapMoveFeature.active-tool,#mapRemoveVertex.active-tool{border-color:#f0bf32!important;background:#4b3e20!important;color:#ffe8a0!important}
.map-edit-marker.is-removable{background:#d64141;border-color:white;cursor:crosshair}
.map-move-handle{width:23px;height:23px;background:#f0bf32;border:3px solid #16191c;box-shadow:0 0 0 2px #fff,0 2px 8px #0008;transform:rotate(45deg);cursor:grab;border-radius:4px}

.folder-row{display:flex;align-items:center;gap:8px;margin:7px 0}.folder-row span{flex:1;font-size:13px}.folder-menu{padding:3px 8px!important}.gis-dialog{display:none;position:fixed;z-index:9999;top:8%;left:50%;transform:translateX(-50%);width:min(560px,90vw);max-height:82vh;overflow:auto;padding:20px;background:#1b1e21;color:#eee;border:1px solid #d8ad3b;border-radius:12px;box-shadow:0 12px 70px #000a}.gis-dialog.open{display:flex;flex-direction:column;gap:12px}.gis-dialog label{display:block;font-size:13px}.gis-dialog button{max-width:max-content}.gis-dialog input[type=file]{width:100%}.gis-dialog select{width:100%}
