@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&family=Space+Grotesk:wght@500;700&display=swap";.mcad-editor{background:var(--surface,#1a2332);border-radius:8px;grid-template-rows:auto 1fr;grid-template-columns:1fr 320px;height:100%;min-height:600px;display:grid;position:relative;overflow:hidden}.mcad-toolbar{background:var(--surface,#1a2332);border-bottom:1px solid var(--border,#38444d);z-index:10;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.mcad-toolbar-group{align-items:center;gap:6px;display:flex}.mcad-toolbar-sep{background:var(--border,#38444d);flex-shrink:0;width:1px;height:22px}.mcad-btn{background:var(--surface-hover,#243447);color:var(--text,#e7e9ea);border:1px solid var(--border,#38444d);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:.8rem;transition:border-color .15s;display:inline-flex}.mcad-btn:hover{border-color:var(--accent,#1d9bf0)}.mcad-btn.active{background:var(--accent,#1d9bf0);border-color:var(--accent,#1d9bf0);color:#fff}.mcad-btn:disabled{opacity:.5;cursor:not-allowed}.mcad-search-input{background:var(--surface-hover,#243447);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);border-radius:6px;outline:none;width:260px;padding:4px 10px;font-size:.8rem;transition:border-color .15s}.mcad-search-input:focus{border-color:var(--accent,#1d9bf0)}.mcad-search-input::placeholder{color:var(--text-muted,#8b98a5)}.mcad-basemap-select{background:var(--surface-hover,#243447);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:.8rem}.mcad-map-area{position:relative;overflow:hidden}.mcad-map-container{position:absolute;inset:0}.mcad-sidebar{border-left:1px solid var(--border,#38444d);background:var(--bg,#0f1419);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow-y:auto}.mcad-sidebar-count{background:var(--accent,#1d9bf0);color:#fff;border-radius:10px;padding:1px 7px;font-size:.7rem}.mcad-drop-zone{border:2px dashed var(--border,#38444d);text-align:center;color:var(--text-muted,#8b98a5);cursor:pointer;border-radius:8px;flex-shrink:0;margin:10px;padding:12px;font-size:.78rem;transition:border-color .15s,background .15s}.mcad-drop-zone:hover,.mcad-drop-zone.dragover{border-color:var(--accent,#1d9bf0);background:#1d9bf00d}.mcad-drop-zone input{display:none}.mcad-photo-list{flex-direction:column;gap:6px;padding:8px;display:flex}.mcad-photo-list-empty{text-align:center;color:var(--text-muted,#8b98a5);padding:24px 16px;font-size:.82rem;line-height:1.6}.mcad-empty-icon{margin-bottom:8px;font-size:2rem}.mcad-empty-sub{opacity:.7;margin-top:4px;font-size:.72rem}.mcad-photo-card{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px;transition:border-color .15s,background .15s;display:flex;position:relative}.mcad-photo-card:hover{border-color:var(--accent,#1d9bf0)}.mcad-photo-card.selected{border-color:var(--accent,#1d9bf0);background:#1d9bf014}.mcad-photo-card.editing{background:#f4212e14;border-color:#f4212e}.mcad-photo-thumb{object-fit:cover;cursor:pointer;border-radius:6px;flex-shrink:0;width:60px;height:60px}.mcad-photo-info{flex:1;min-width:0;font-size:.75rem;line-height:1.4}.mcad-photo-name{color:var(--text,#e7e9ea);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-weight:600;overflow:hidden}.mcad-photo-meta,.mcad-photo-coords,.mcad-photo-osgb,.mcad-photo-placement{color:var(--text-muted,#8b98a5);font-size:.72rem}.mcad-badge{border-radius:10px;margin-bottom:3px;padding:1px 6px;font-size:.65rem;font-weight:600;display:inline-block}.mcad-badge-geotagged{color:#1d9bf0;background:#1d9bf033}.mcad-badge-optimised{color:#00ba7c;background:#00ba7c33}.mcad-badge-autocorrected{color:#ffad1f;background:#ffad1f33}.mcad-badge-needs-placement{color:#f59e0b;background:#f59e0b33}.mcad-photo-delete{color:#f4212e;cursor:pointer;opacity:0;background:#f4212e26;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.mcad-photo-card:hover .mcad-photo-delete{opacity:1}.mcad-photo-detail{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);z-index:20;border-radius:10px;width:320px;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 4px 20px #0006}.mcad-photo-detail-header{border-bottom:1px solid var(--border,#38444d);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.mcad-photo-detail-name{color:var(--text,#e7e9ea);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.85rem;font-weight:600;overflow:hidden}.mcad-detail-close{color:var(--text-muted,#8b98a5);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.mcad-detail-close:hover{color:var(--text,#e7e9ea)}.mcad-photo-detail-img{object-fit:cover;cursor:pointer;width:100%;height:140px;display:block}.mcad-photo-detail-body{padding:10px 12px;font-size:.78rem;line-height:1.5}.mcad-detail-row{gap:8px;margin-bottom:4px;display:flex}.mcad-detail-label{color:var(--text-muted,#8b98a5);flex-shrink:0;min-width:64px}.mcad-verify-link{color:var(--accent,#1d9bf0);font-size:.72rem;text-decoration:none}.mcad-verify-link:hover{text-decoration:underline}.mcad-photo-detail-actions{border-top:1px solid var(--border,#38444d);gap:6px;padding:8px 12px;display:flex}.mcad-detail-btn{border:1px solid var(--border,#38444d);background:var(--surface-hover,#243447);color:var(--text,#e7e9ea);cursor:pointer;border-radius:6px;flex:1;padding:5px 8px;font-size:.75rem;transition:border-color .15s}.mcad-detail-btn:hover{border-color:var(--accent,#1d9bf0)}.mcad-detail-btn-danger{color:#f4212e}.mcad-detail-btn-danger:hover{border-color:#f4212e}.mcad-camera-marker{cursor:pointer;pointer-events:auto;position:absolute;transform:translate(-50%,-50%)}.mcad-camera-marker.ol-marker-draggable{cursor:grab}.mcad-camera-marker.ol-marker-draggable:active{cursor:grabbing}.mcad-annotation-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mcad-annotation-modal{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);border-radius:10px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden}.mcad-annotation-toolbar{border-bottom:1px solid var(--border,#38444d);background:var(--bg,#0f1419);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.mcad-ann-tools,.mcad-ann-controls,.mcad-ann-actions{align-items:center;gap:6px;display:flex}.mcad-ann-controls{margin-left:auto}.mcad-ann-btn{background:var(--surface-hover,#243447);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.8rem}.mcad-ann-btn.active{background:var(--accent,#1d9bf0);border-color:var(--accent,#1d9bf0);color:#fff}.mcad-ann-btn:hover{border-color:var(--accent,#1d9bf0)}.mcad-annotation-canvas-wrap{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.mcad-edit-panel{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);z-index:20;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;font-size:.82rem;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.mcad-edit-panel label{color:var(--text-muted,#8b98a5);white-space:nowrap;align-items:center;gap:6px;display:flex}.mcad-edit-panel input[type=range]{width:100px}.mcad-bearing-value{color:var(--accent,#1d9bf0);min-width:32px;font-weight:600}.mcad-sidebar-topbar{border-bottom:1px solid var(--border,#38444d);flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex}.mcad-sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#8b98a5);flex:1;font-size:.72rem;font-weight:600}.mcad-accordion{border-bottom:1px solid var(--border,#38444d)}.mcad-accordion>summary{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#8b98a5);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;font-size:.75rem;font-weight:600;list-style:none;display:flex}.mcad-accordion>summary::-webkit-details-marker{display:none}.mcad-accordion>summary:after{content:"▾";flex-shrink:0;margin-left:auto;font-size:.85rem;transition:transform .15s}.mcad-accordion[open]>summary:after{transform:rotate(-180deg)}.mcad-accordion-body{overflow:hidden}.mcad-obj-table{border-collapse:collapse;width:100%;color:var(--text);font-size:.73rem}.mcad-obj-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);white-space:nowrap;background:var(--surface);padding:3px 8px;font-weight:600;position:sticky;top:0}.mcad-obj-table td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;max-width:100px;padding:3px 8px;overflow:hidden}.mcad-obj-table tr:last-child td{border-bottom:none}.mcad-obj-table tbody tr{cursor:pointer;transition:background .1s}.mcad-obj-table tbody tr:hover{background:var(--hover,#ffffff0d)}.mcad-obj-row--selected td{background:var(--accent-muted,#1d9bf026)}.mcad-obj-row--hidden td{opacity:.4}.mcad-obj-row--hidden{cursor:default!important}.mcad-obj-type-badge{background:var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:1px 5px;font-size:.66rem;font-weight:600;display:inline-block}.mcad-obj-type-badge--pin{color:#e91e8c;background:#e91e8c2e}.mcad-obj-layer{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:60px;margin-top:1px;font-size:.62rem;overflow:hidden}.mcad-obj-actions{white-space:nowrap;padding:2px 4px!important}.mcad-obj-action-btn{cursor:pointer;opacity:0;vertical-align:middle;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.mcad-obj-table tbody tr:hover .mcad-obj-action-btn{opacity:1}.mcad-obj-edit-btn{color:var(--text-muted)}.mcad-obj-edit-btn:hover{color:#1d9bf0;background:#1d9bf026}.mcad-obj-del-btn{color:var(--text-muted)}.mcad-obj-del-btn:hover{color:#e05555;background:#dc323226}.mcad-obj-eye-btn{color:var(--text-muted)}.mcad-obj-eye-btn:hover{color:#1d9bf0;background:#1d9bf026}.mcad-obj-eye-btn--hidden{color:var(--text-muted);opacity:.5}.mcad-pin-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-right:3px;display:inline-block}.mcad-right-panel{padding:8px 12px 12px}.mcad-props-header{color:var(--text-muted,#8b98a5);margin-bottom:8px;font-size:.78rem;font-style:italic}.mcad-label{color:var(--text-muted,#8b98a5);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.7rem}.mcad-prop-row{align-items:center;gap:6px;margin-bottom:5px;font-size:.78rem;display:flex}.mcad-prop-row>label:first-child{min-width:72px;color:var(--text-muted,#8b98a5);flex-shrink:0;font-size:.75rem}.mcad-prop-row input[type=color]{border:1px solid var(--border,#38444d);background:var(--bg,#0f1419);cursor:pointer;border-radius:3px;flex-shrink:0;width:26px;height:22px;padding:0}.mcad-prop-row input[type=number],.mcad-prop-row input[type=text],.mcad-prop-row select{background:var(--bg,#0f1419);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);border-radius:4px;padding:3px 5px;font-size:.75rem}.mcad-prop-row input[type=range]{flex:1;min-width:50px}.mcad-dial-value{min-width:34px;color:var(--accent,#1d9bf0);font-size:.75rem;font-weight:600}.mcad-transform-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.mcad-transform-row>label{color:var(--text-muted,#8b98a5);min-width:40px;font-size:.75rem}.mcad-layers-list{max-height:160px;margin-bottom:6px;overflow-y:auto}.mcad-layer-sel{background:var(--bg,#0f1419);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);border-radius:4px;flex:1;min-width:0;padding:3px 5px;font-size:.75rem}.mcad-layer-props{border-top:1px solid var(--border,#38444d);margin-top:4px;padding-top:8px}.mcad-linetype-wrap{flex:1;min-width:0;position:relative}.mcad-linetype-picker{background:var(--bg,#0f1419);border:1px solid var(--border,#38444d);cursor:pointer;color:var(--text,#e7e9ea);border-radius:4px;align-items:center;gap:6px;padding:3px 7px;display:flex}.mcad-linetype-picker:hover{border-color:var(--accent,#1d9bf0)}.mcad-linetype-preview{background:currentColor;flex:1;height:2px}.mcad-linetype-arrow{color:var(--text-muted,#8b98a5);font-size:.75rem}.mcad-linetype-dropdown{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);z-index:200;border-radius:4px;max-height:180px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mcad-btn-sm{background:var(--surface-hover,#243447);border:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;padding:3px 7px;font-size:.75rem;line-height:1.4;display:inline-flex}.mcad-btn-sm:hover{border-color:var(--accent,#1d9bf0)}.mcad-btn-sm.active{background:var(--accent,#1d9bf0);border-color:var(--accent,#1d9bf0);color:#fff}.mcad-editor--light{--surface:#fff;--surface-hover:#e8ecf0;--bg:#f3f4f5;--border:#cdd1d5;--text:#0f1419;--text-muted:#536471;--accent:#1d9bf0}.mcad-editor--popout{z-index:9999;border-radius:0;position:fixed;inset:0}.mcad-map-container .ol-viewport{width:100%!important;height:100%!important}.mcad-map-container .ol-zoom{top:8px;left:auto;right:8px}.mcad-map-container .ol-zoom button{background:var(--surface,#1a2332);color:var(--text,#e7e9ea);border:1px solid var(--border,#38444d);border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;margin:2px 0;font-size:1rem;display:flex}.mcad-map-container .ol-zoom button:hover{background:var(--surface-hover,#243447)}.mcad-sidebar-tool-btn{background:var(--surface-hover,#243447);border:1px solid var(--border,#38444d);width:100%;color:var(--text,#e7e9ea);cursor:pointer;text-align:center;border-radius:6px;margin-top:6px;padding:7px 10px;font-size:.78rem;display:block}.mcad-sidebar-tool-btn:hover{border-color:var(--accent,#1d9bf0)}.mcad-sidebar-tool-btn.active{background:var(--accent,#1d9bf0);border-color:var(--accent,#1d9bf0);color:#fff}.mcad-sidebar-tool-btn:disabled{opacity:.4;cursor:default}.mcad-sidebar-tool-btn--drop{position:relative}.mcad-sidebar-tool-row{gap:6px;margin-top:6px;display:flex}.mcad-sidebar-tool-row .mcad-sidebar-tool-btn{flex:1;margin-top:0}.mcad-optimise-wrap{position:relative}.mcad-optimise-panel{background:var(--bg,#15202b);border:1px solid var(--border,#38444d);border-radius:6px;margin-top:4px;padding:10px}.mcad-optimise-header{color:var(--text,#e7e9ea);margin-bottom:8px;font-size:.75rem;font-weight:600}.mcad-optimise-preset{cursor:pointer;border-radius:4px;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.mcad-optimise-preset input[type=radio]{flex-shrink:0;margin-top:2px}.mcad-optimise-preset-info{flex-direction:column;gap:1px;display:flex}.mcad-optimise-preset-name{color:var(--text,#e7e9ea);font-size:.78rem}.mcad-optimise-preset-desc{color:var(--text-muted,#71767b);font-size:.7rem}.mcad-optimise-actions{gap:6px;margin-top:8px;display:flex}.mcad-optimise-actions .mcad-sidebar-tool-btn{margin-top:0}.mcad-optimise-progress{align-items:center;gap:8px;margin-top:8px;display:flex}.mcad-optimise-progress-bar{background:var(--border,#38444d);border-radius:3px;flex:1;height:6px;overflow:hidden}.mcad-optimise-progress-fill{background:var(--accent,#1d9bf0);height:100%;transition:width .2s}.mcad-checkbox-label{color:var(--text,#e7e9ea);cursor:pointer;align-items:center;gap:6px;margin-top:8px;font-size:.78rem;display:flex}.mcad-checkbox-label input[type=checkbox]{flex-shrink:0}.mcad-modal-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mcad-modal{background:var(--surface,#1a2332);border:1px solid var(--border,#38444d);border-radius:8px;flex-direction:column;width:min(680px,92vw);max-height:80vh;display:flex;overflow:hidden}.mcad-modal-header{border-bottom:1px solid var(--border,#38444d);color:var(--text,#e7e9ea);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.85rem;font-weight:600;display:flex}.mcad-modal-close{color:var(--text-muted,#71767b);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:1rem}.mcad-modal-close:hover{color:var(--text,#e7e9ea)}.mcad-error-log-pre{white-space:pre-wrap;word-break:break-all;background:var(--bg,#15202b);color:var(--text,#e7e9ea);flex:1;margin:0;padding:12px 16px;font-size:.72rem;line-height:1.5;overflow-y:auto}.mcad-modal-actions{border-top:1px solid var(--border,#38444d);gap:8px;padding:12px 16px;display:flex}:root,:host{--ol-background-color:white;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{box-sizing:border-box;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color);border-radius:2px}.ol-mouse-position{position:absolute;top:8px;right:8px}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;padding:2px;position:absolute;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-align:center;will-change:contents, width;border-top:none;margin:1px;font-size:10px;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:var(--ol-foreground-color);float:right;z-index:10;width:1px;height:15px}.ol-scale-step-text{z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:10px;position:absolute;bottom:-5px}.ol-scale-text{text-align:center;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:12px;position:absolute;bottom:25px}.ol-scale-singlebar{z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color);height:10px;position:relative}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{top:.5em;left:.5em}.ol-rotate{transition:opacity .25s linear,visibility linear;top:.5em;right:.5em}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{top:.5em;right:.5em}.ol-control button{color:var(--ol-subtle-foreground-color);font-weight:700;font-size:inherit;text-align:center;background-color:var(--ol-background-color);border:none;border-radius:2px;width:1.375em;height:1.375em;margin:1px;padding:0;line-height:.4em;text-decoration:none;display:block}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{will-change:transform;font-weight:400;display:block}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;flex-flow:row-reverse;align-items:center;max-width:calc(100% - 1.3em);display:flex;bottom:.5em;right:.5em}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);margin:0;padding:1px .5em;font-size:12px}.ol-attribution li{list-style:none;display:inline}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{max-height:1.6em;margin-top:-.2em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;top:4.5em;left:.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);width:150px;height:150px}.ol-overviewmap:not(.ol-collapsed) button{position:absolute;bottom:0;left:0}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#04182f;--foreground:#ecf6ff;--muted:#bfd0df;--card:#07243ee6;--card-foreground:#ecf6ff;--border:#ffffff1a;--input:#75c6ff33;--ring:#27a6ff;--primary:#b6eb23;--primary-foreground:#031223;--secondary:#ffffff0f;--secondary-foreground:#ecf6ff;--blue:#27a6ff;--green:#b6eb23;--surface-shadow:0 24px 80px #00000059;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:var(--foreground);background:linear-gradient(120deg, #27a6ff29, transparent 28%), linear-gradient(300deg, #b6eb231f, transparent 30%), linear-gradient(180deg, #072341 0%, var(--background) 42%, #020d18 100%);min-height:100vh;margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}.page{flex-direction:column;gap:20px;max-width:1280px;margin:0 auto;padding:32px 24px 56px;display:flex}.centered{justify-content:center;align-items:center;min-height:100vh}.card{color:var(--card-foreground);border:1px solid var(--border);box-shadow:var(--surface-shadow);background:linear-gradient(135deg,#082642db,#03111fe6),linear-gradient(#27a6ff14,#8fcf0008);border-radius:8px;flex-direction:column;gap:12px;padding:18px;display:flex}.card h1,.card h2,.card h3,.card p{margin:0}h1,h2,h3{font-family:Space Grotesk,Manrope,sans-serif}h1{font-size:clamp(2.25rem,4vw,3.4rem);line-height:1.05}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.18em;margin:0 0 8px;font-size:12px;font-weight:800}.login-page{padding:20px}.login-shell{flex-direction:column;gap:24px;width:min(100%,390px);display:flex}.brand-link{color:var(--foreground);justify-content:center;align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand-link:hover{text-decoration:none}.brand-mark{background:var(--primary);width:40px;height:40px;color:var(--primary-foreground);box-shadow:var(--surface-shadow);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.login-card{border-radius:8px;gap:18px;padding:22px}.provider-button{border:1px solid var(--input);min-height:42px;color:var(--foreground);background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:600;display:inline-flex}.provider-button:hover{background:var(--secondary);text-decoration:none}.provider-icon{width:18px;height:18px}.divider{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:12px;display:grid}.divider span{background:var(--border);height:1px}.form-error{color:#9f1d1d;background:#fff1f1;border:1px solid #f0a7a7;border-radius:8px;padding:10px 12px;font-size:14px}.auth-switch{text-align:center;font-size:13px}.auth-switch button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.access-note{grid-template-columns:minmax(220px,.8fr) minmax(320px,1.4fr) auto;align-items:center;gap:18px;display:grid}.access-note h2{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.1}.access-note .btn{white-space:nowrap}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:8px;display:flex}.label{font-weight:600}.muted{color:var(--muted)}.btn{appearance:none;background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:10px 14px;font-weight:600;transition:transform .18s,filter .18s,background-color .18s,box-shadow .18s;box-shadow:0 16px 40px #8fcf0033}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{border-color:var(--input);background:var(--secondary);color:var(--secondary-foreground);box-shadow:none}.field,.textarea{border:1px solid var(--input);color:#06213b;background:#fffffff0;border-radius:8px;width:100%;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;min-height:120px}.field:focus,.textarea:focus{border-color:color-mix(in srgb, var(--ring) 80%, white 20%);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 14%, transparent 86%);outline:none}.toggle-row{color:var(--foreground);align-items:center;gap:10px;display:flex}.toggle-row input[type=checkbox]{width:18px;height:18px}.editor-map-shell{border-radius:14px;overflow:hidden}.list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.snapshot{border:1px solid var(--border);border-radius:10px;width:100%}.photo-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}@media (width<=1200px){.photo-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.access-note{grid-template-columns:1fr;align-items:start}.photo-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pp-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020d18ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pp-dialog-content{width:min(760px,100vw - 40px);max-height:min(82vh,720px);color:var(--foreground);box-shadow:var(--surface-shadow);background:linear-gradient(135deg,#082642fa,#03111ffa),linear-gradient(#27a6ff1a,#8fcf000a);border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:14px;padding:18px;display:flex}.pp-dialog-header{flex-direction:column;gap:6px;display:flex}.pp-dialog-header p{color:var(--muted);margin:0}.pp-dialog-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.pp-dialog-content textarea{resize:vertical;color:#06213b;background:#fffffff5;border:1px solid #75c6ff3d;border-radius:8px;width:100%;min-height:min(46vh,360px);padding:12px}.pp-select-root{position:relative}.pp-select-content{z-index:60;border:1px solid var(--border);background:#fff;border-radius:10px;min-width:100%;padding:4px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 28px #0206172e}.pp-select-item{text-align:left;width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.pp-select-item:hover{background:var(--secondary)}.pp-btn{appearance:none;border:1px solid var(--input);color:var(--foreground);cursor:pointer;background:#fff;border-radius:10px}.pp-btn-default{background:var(--primary);border-color:color-mix(in srgb, var(--primary) 50%, #fff 50%);color:var(--primary-foreground)}.pp-btn-ghost{color:var(--foreground);background:0 0}.pp-btn-ghost:hover{background:var(--secondary)}.pp-btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.editor-map-shell{--mw-foreground:#06213b;--mw-muted:#607086;--mw-border:#d8e8f8;--mw-input:#d8e8f8;--mw-primary:#b6eb23;--mw-primary-foreground:#031223;--mw-secondary:#eef6ff}.editor-map-shell .text-foreground{color:var(--mw-foreground)}.editor-map-shell .text-muted-foreground{color:var(--mw-muted)}.editor-map-shell .text-primary{color:#0d75c9}.editor-map-shell .text-primary-foreground{color:var(--mw-primary-foreground)}.editor-map-shell .text-destructive{color:#b91c1c}.editor-map-shell .bg-card,.editor-map-shell .bg-card\/80,.editor-map-shell .bg-card\/90,.editor-map-shell .bg-card\/95,.editor-map-shell .bg-background{color:var(--mw-foreground);background:#fff}.editor-map-shell .bg-muted,.editor-map-shell .bg-muted\/40{background:var(--mw-secondary)}.editor-map-shell .bg-primary{background:var(--mw-primary);color:var(--mw-primary-foreground)}.editor-map-shell .bg-destructive\/10{background:#fee2e2}.editor-map-shell .border{border:1px solid var(--mw-border)}.editor-map-shell .border-border{border-color:var(--mw-border)}.editor-map-shell .border-input{border-color:var(--mw-input)}.editor-map-shell .rounded{border-radius:8px}.editor-map-shell .rounded-md{border-radius:10px}.editor-map-shell .rounded-lg{border-radius:12px}.editor-map-shell .rounded-xl{border-radius:14px}.editor-map-shell .flex{display:flex}.editor-map-shell .inline-flex{display:inline-flex}.editor-map-shell .grid{display:grid}.editor-map-shell .relative{position:relative}.editor-map-shell .absolute{position:absolute}.editor-map-shell .flex-col{flex-direction:column}.editor-map-shell .flex-wrap{flex-wrap:wrap}.editor-map-shell .flex-1{flex:1}.editor-map-shell .shrink-0,.editor-map-shell .md\:shrink-0{flex-shrink:0}.editor-map-shell .items-center{align-items:center}.editor-map-shell .justify-between{justify-content:space-between}.editor-map-shell .justify-center{justify-content:center}.editor-map-shell .gap-1{gap:4px}.editor-map-shell .gap-1\.5{gap:6px}.editor-map-shell .gap-2{gap:8px}.editor-map-shell .gap-3{gap:12px}.editor-map-shell .gap-4{gap:16px}.editor-map-shell .mt-1{margin-top:4px}.editor-map-shell .mt-2{margin-top:8px}.editor-map-shell .mt-3{margin-top:12px}.editor-map-shell .mb-1{margin-bottom:4px}.editor-map-shell .ml-1{margin-left:4px}.editor-map-shell .ml-2{margin-left:8px}.editor-map-shell .right-1{right:4px}.editor-map-shell .top-0\.5{top:2px}.editor-map-shell .top-2\.5{top:10px}.editor-map-shell .left-2\.5{left:10px}.editor-map-shell .p-1{padding:4px}.editor-map-shell .p-1\.5{padding:6px}.editor-map-shell .p-2{padding:8px}.editor-map-shell .p-3{padding:12px}.editor-map-shell .p-4{padding:16px}.editor-map-shell .px-2{padding-left:8px;padding-right:8px}.editor-map-shell .px-3{padding-left:12px;padding-right:12px}.editor-map-shell .py-2{padding-top:8px;padding-bottom:8px}.editor-map-shell .pl-1{padding-left:4px}.editor-map-shell .pl-8{padding-left:32px}.editor-map-shell .pr-2{padding-right:8px}.editor-map-shell .pr-3{padding-right:12px}.editor-map-shell .h-1\.5{height:6px}.editor-map-shell .h-3\.5{height:14px}.editor-map-shell .h-4{height:16px}.editor-map-shell .h-5{height:20px}.editor-map-shell .h-7{height:28px}.editor-map-shell .h-8{height:32px}.editor-map-shell .h-9{height:36px}.editor-map-shell .w-4{width:16px}.editor-map-shell .w-5{width:20px}.editor-map-shell .w-6{width:24px}.editor-map-shell .w-7{width:28px}.editor-map-shell .w-8{width:32px}.editor-map-shell .w-24{width:96px}.editor-map-shell .w-40{width:160px}.editor-map-shell .w-full{width:100%}.editor-map-shell .md\:w-\[560px\]{width:min(560px,100%)}.editor-map-shell .md\:w-\[420px\]{width:min(420px,100%)}.editor-map-shell .pointer-events-none{pointer-events:none}.editor-map-shell .text-xs{font-size:12px}.editor-map-shell .text-sm{font-size:14px}.editor-map-shell .text-\[11px\]{font-size:11px}.editor-map-shell .font-medium{font-weight:600}.editor-map-shell .font-semibold{font-weight:700}.editor-map-shell .font-bold{font-weight:800}.editor-map-shell .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.editor-map-shell .text-white{color:#fff}.editor-map-shell .text-gray-500{color:#6b7280}.editor-map-shell .text-gray-800{color:#1f2937}.editor-map-shell .text-gray-900{color:#111827}.editor-map-shell .text-blue-700{color:#1d4ed8}.editor-map-shell .text-green-700{color:#15803d}.editor-map-shell .text-amber-700{color:#b45309}.editor-map-shell .bg-blue-600{background:#2563eb}.editor-map-shell .bg-blue-50{background:#eff6ff}.editor-map-shell .bg-green-50{background:#f0fdf4}.editor-map-shell .bg-amber-50{background:#fffbeb}.editor-map-shell .hover\:bg-blue-100:hover{background:#dbeafe}.editor-map-shell .hover\:bg-green-100:hover{background:#dcfce7}.editor-map-shell .hover\:bg-amber-100:hover{background:#fef3c7}.editor-map-shell .border-gray-200{border-color:#e5e7eb}.editor-map-shell .border-b{border-bottom:1px solid #e5e7eb}.editor-map-shell .border-t{border-top:1px solid #e5e7eb}.editor-map-shell .rounded-full{border-radius:999px}.editor-map-shell .grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.editor-map-shell .gap-x-3{column-gap:12px}.editor-map-shell .gap-y-1{row-gap:4px}.editor-map-shell .pb-2{padding-bottom:8px}.editor-map-shell .pt-1\.5{padding-top:6px}.editor-map-shell .py-1{padding-top:4px;padding-bottom:4px}.editor-map-shell .mb-2{margin-bottom:8px}.editor-map-shell .space-y-2>*+*{margin-top:8px}.editor-map-shell .cursor-pointer{cursor:pointer}.editor-map-shell .transition-colors{transition:background-color .16s,color .16s,border-color .16s}.editor-map-shell button,.editor-map-shell input,.editor-map-shell select{font:inherit}.editor-map-shell button{border:1px solid var(--mw-input);color:var(--mw-foreground);cursor:pointer;background:#fff;border-radius:10px;padding:7px 10px}.editor-map-shell button:hover{background:var(--mw-secondary)}.editor-map-shell button.bg-primary,.editor-map-shell .bg-primary{border-color:color-mix(in srgb, var(--mw-primary) 50%, #fff 50%);color:var(--mw-primary-foreground)}.editor-map-shell input,.editor-map-shell select{border:1px solid var(--mw-input);color:var(--mw-foreground);background:#fff;border-radius:10px}.editor-map-shell input::placeholder{color:#6b7791}.editor-map-shell button:disabled,.editor-map-shell input:disabled{color:#9fb4c9;opacity:.55}.editor-map-shell .rounded-xl:has(input[placeholder*=London]){min-height:0}.editor-map-shell .shadow-sm{box-shadow:0 3px 10px #1118270f}.editor-map-shell .shadow-xl{box-shadow:0 12px 28px #11182729}@media (width>=1024px){.editor-map-shell .lg\:flex-row{flex-direction:row}.editor-map-shell .lg\:items-center{align-items:center}.editor-map-shell .lg\:justify-between{justify-content:space-between}}@media (width>=768px){.editor-map-shell .md\:flex-nowrap{flex-wrap:nowrap}.editor-map-shell .md\:w-\[420px\]{width:420px}.editor-map-shell .md\:shrink-0{flex-shrink:0}.editor-map-shell .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
