body{overflow:hidden;padding-top:80px;padding-bottom:50px}#map{position:fixed;inset:80px 0 50px;z-index:1;background-color:var(--gray-200)}#ui-overlay{position:fixed;inset:80px 0 50px;pointer-events:none;z-index:1000;overflow:hidden}#controls.hidden-by-default{display:none}:root{--left-drawer-width: 250px;--right-drawer-width: 300px;--panel-width: 250px}.drawer{position:absolute;background-color:var(--card-bg);box-shadow:var(--box-shadow-lg);transition:transform .3s ease-in-out,left .3s ease-in-out,right .3s ease-in-out;z-index:1010;pointer-events:auto;padding:var(--spacing-md);overflow-y:auto;display:flex;flex-direction:column;color:var(--text-color);border:1px solid var(--border-color)}.drawer h2{margin-top:0;color:var(--gray-800)}.drawer .close-btn{margin-top:auto;align-self:flex-start;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--gray-200);border:1px solid var(--gray-300);border-radius:var(--border-radius-sm);color:var(--text-color);transition:var(--transition)}.drawer .close-btn:hover{background-color:var(--gray-300)}.drawer-left{top:0;bottom:0;left:0;width:var(--left-drawer-width);transform:translate(-100%);border-right:1px solid var(--border-color)}.drawer-right{top:0;bottom:0;right:0;width:var(--right-drawer-width);transform:translate(100%);border-left:1px solid var(--border-color)}.drawer-bottom{bottom:0;left:0;right:0;height:200px;transform:translateY(100%);border-top:1px solid var(--border-color)}.drawer-left.open,.drawer-right.open,.drawer-bottom.open{transform:translate(0)}body.left-drawer-open .drawer-bottom{left:var(--left-drawer-width)}body.right-drawer-open .drawer-bottom{right:var(--right-drawer-width)}.dialog{position:fixed;background-color:var(--card-bg);padding:45px 20px 20px;border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);z-index:1050;pointer-events:auto;max-width:90vw;width:auto;min-width:300px;max-height:calc(100vh - 160px);overflow:auto;cursor:default;color:var(--text-color);border:1px solid var(--border-color);top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-header{position:absolute;top:0;left:0;right:0;height:40px;background-color:var(--gray-100);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-md);display:flex;align-items:center;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);cursor:move;color:var(--text-color)}.dialog-title{font-weight:600;margin:0;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none}.dialog-close-btn{font-size:1.6em;background:none;border:none;cursor:pointer;padding:0 5px;line-height:1;margin-left:10px;z-index:1051;color:var(--gray-500);transition:var(--transition)}.dialog-close-btn:hover{color:var(--text-color)}.dialog-content{padding-top:var(--spacing-sm)}.confirm-cancel-btn{background-color:var(--gray-200);color:var(--text-color);border-color:var(--gray-300)}.confirm-cancel-btn:hover{background-color:var(--gray-300)}.confirm-ok-btn{background-color:var(--gray-200);color:var(--text-color);border-color:var(--gray-300);font-weight:600}.confirm-ok-btn:hover{background-color:var(--gray-300)}.confirm-ok-btn--danger{background-color:var(--danger);color:#fff;border-color:var(--danger)}.confirm-ok-btn--danger:hover{filter:brightness(.9)}.confirm-dialog-message{margin:0 0 var(--spacing-md) 0;line-height:1.5;color:var(--text-color)}body.dark-theme .confirm-cancel-btn{background-color:var(--gray-200);border-color:var(--border-color)}body.dark-theme .confirm-cancel-btn:hover{background-color:var(--gray-300)}body.dark-theme .confirm-ok-btn{background-color:var(--gray-200);border-color:var(--border-color)}body.dark-theme .confirm-ok-btn:hover{background-color:var(--gray-300)}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:1045;pointer-events:auto}#controls{position:fixed;top:90px;right:10px;z-index:1020;background:var(--card-bg);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);pointer-events:auto;display:flex;flex-direction:column;cursor:move;box-shadow:var(--box-shadow);user-select:none}.controls-header{padding:3px 8px;font-size:.75em;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border-color);background-color:var(--gray-100);text-align:left;border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm);cursor:default}.controls-buttons{display:flex;flex-wrap:wrap;gap:5px;padding:6px}#controls button{padding:6px 10px;font-size:.9em;cursor:pointer}#map-tools{position:fixed;top:90px;left:10px;z-index:1020;background:#e6eeffed;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius-sm);border:1px solid rgba(67,97,238,.2);pointer-events:auto;display:flex;flex-direction:column;cursor:move;box-shadow:0 6px 24px #0000002e,0 1px 4px #4361ee1f;user-select:none}.map-tools-header{padding:5px 6px;font-size:.72em;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(160deg,var(--primary) 0%,var(--primary-dark) 100%);border-bottom:none;text-align:center;border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm);cursor:default;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.2)}.map-tools-buttons{display:flex;flex-direction:column;gap:3px;padding:5px}#map-tools button.map-tool-btn{padding:6px;font-size:1.2em;min-width:34px;min-height:34px;text-align:center;cursor:pointer;line-height:1;background:transparent;border:1px solid transparent;border-radius:var(--border-radius-sm);color:var(--gray-700);transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}#map-tools button.map-tool-btn:hover{background:#4361ee1a;border-color:#4361ee40;color:var(--primary);box-shadow:0 1px 4px #4361ee1f}#map-tools button.map-tool-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary-dark);color:#fff;box-shadow:0 2px 6px #4361ee59}button#tool-zoom-level{font-weight:700;min-width:38px;padding:6px 4px;cursor:pointer;font-size:.9em}select#zoom-level-select{font-family:inherit;font-size:.9em;font-weight:700;text-align:center;padding:5px 2px;margin:0;border:1px solid var(--primary);border-radius:var(--border-radius-sm);min-width:38px;cursor:pointer;height:30px;display:block}#map-tools #theme-toggle-btn{margin-top:8px}.data-panel{position:fixed;right:10px;z-index:1019;background:#e6eeffed;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius-sm);border:1px solid rgba(67,97,238,.2);pointer-events:auto;display:flex;flex-direction:column;cursor:move;box-shadow:0 6px 24px #0000002e,0 1px 4px #4361ee1f;user-select:none;max-width:var(--panel-width);min-width:150px;min-height:60px;max-height:40vh}.panel-header{padding:4px 8px 4px 10px;font-size:.75em;font-weight:700;letter-spacing:.03em;color:var(--primary-dark);border-bottom:1px solid rgba(67,97,238,.15);background:linear-gradient(90deg,#4361ee24,#4361ee08);border-left:3px solid var(--primary);text-align:left;border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm);cursor:default;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-list{padding:6px;margin:0;overflow-y:auto;min-height:30px;flex-grow:1}.panel-list-placeholder{font-style:italic;color:var(--text-muted);font-size:.85em;text-align:center;padding:10px 5px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:4px;margin-bottom:2px;border-bottom:1px solid rgba(0,0,0,.05);border-radius:var(--border-radius-sm);font-size:.9em;transition:background .12s ease}.list-item:hover{background:#4361ee0f}.list-item:last-child{border-bottom:none;margin-bottom:0}.list-item span.item-name{flex-grow:1;margin-right:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-color);cursor:pointer;display:inline-block;max-width:calc(100% - 25px);padding:2px 0}.list-item span.item-name:hover{text-decoration:underline;text-decoration-style:dotted}.list-item input.item-name-input{flex-grow:1;margin-right:5px;padding:1px 3px;font-size:.9em;border:1px solid var(--primary);border-radius:2px;box-shadow:inset 0 1px 2px #0000001a}.delete-item-btn{flex-shrink:0;background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.2em;line-height:1;padding:0 4px;border-radius:var(--border-radius-sm);transition:var(--transition)}.delete-item-btn:hover{color:#fff;background-color:var(--danger)}#layers-panel{top:90px}#markers-panel{top:160px}.panel-header button{padding:1px 6px;font-size:.8em;cursor:pointer;margin-left:6px;line-height:1.2;background:#4361ee1a;border:1px solid rgba(67,97,238,.25);color:var(--primary-dark);border-radius:var(--border-radius-sm);transition:background .12s ease,box-shadow .12s ease}.panel-header button:hover{background:#4361ee33;box-shadow:0 1px 4px #4361ee33}#coords-panel{position:fixed;bottom:60px;left:10px;z-index:1018;background:#e6eeffed;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius-sm);border:1px solid rgba(67,97,238,.2);pointer-events:auto;display:flex;flex-direction:column;cursor:move;box-shadow:0 6px 24px #0000002e,0 1px 4px #4361ee1f;user-select:none;min-width:200px;min-height:40px}.coords-panel-header{padding:4px 8px 4px 10px;font-size:.75em;font-weight:700;letter-spacing:.03em;color:var(--primary-dark);border-bottom:1px solid rgba(67,97,238,.15);background:linear-gradient(90deg,#4361ee24,#4361ee08);border-left:3px solid var(--primary);text-align:left;border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm);cursor:default;flex-shrink:0}.coords-panel-content{padding:6px 8px;flex-grow:1}.coords-panel-content p{margin:3px 0;font-size:.85em;color:var(--text-color);white-space:nowrap;line-height:1.3}.coord-label{display:inline-block;width:65px;text-align:right;margin-right:5px;color:#4361eeb3;font-weight:500}.coord-value{font-family:monospace;display:inline-block;text-align:left;min-width:95px}#map.drag-over{outline:3px dashed var(--primary);outline-offset:-5px;box-shadow:inset 0 0 30px #4361ee4d}#goto-form{padding-top:5px}#goto-form .form-group{margin-bottom:12px;display:flex;align-items:center;gap:8px}#goto-form label{flex-basis:80px;flex-shrink:0;text-align:right;font-size:.9em;margin-bottom:0}#goto-form input[type=number]{flex-grow:1;width:auto}#goto-form input[type=number]{-moz-appearance:textfield}#goto-form input::-webkit-outer-spin-button,#goto-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.error-message{font-size:.85em;color:var(--danger);min-height:1.2em;margin-top:5px;text-align:left}.dialog-actions{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);text-align:right;display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.dialog-actions button#goto-submit-btn{background-color:var(--primary);color:#fff;border-color:var(--primary-dark);font-weight:700}.dialog-actions button#goto-submit-btn:hover{background-color:var(--primary-dark)}.dialog-actions button#goto-cancel-btn{background-color:var(--gray-200);color:var(--text-color)}.dialog-actions button#goto-cancel-btn:hover{background-color:var(--gray-300)}.basemap-options{list-style:none;padding:0;margin:5px 0 0}.basemap-option{margin-bottom:8px}.basemap-option label{display:flex;align-items:center;cursor:pointer;font-size:.95em;color:var(--text-color);margin-bottom:0}.basemap-option input[type=radio]{margin-right:10px;cursor:pointer;accent-color:var(--primary)}.basemap-option label:hover{color:var(--primary)}.leaflet-bar{box-shadow:var(--box-shadow);border-radius:var(--border-radius-sm);border:none;background-color:transparent}.leaflet-bar a,.leaflet-bar a:hover{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);color:var(--text-color);border-radius:0;transition:var(--transition);box-shadow:none}.leaflet-bar a:hover{background-color:var(--gray-100)}.leaflet-bar a:first-of-type{border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm)}.leaflet-bar a:last-of-type{border-bottom-left-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-bottom:none}.leaflet-control-attribution{background:var(--card-bg)!important;color:var(--text-muted)!important;border-radius:var(--border-radius-sm);padding:2px 6px;margin:0 5px 5px 0!important}.leaflet-control-attribution a{color:var(--primary)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:var(--border-radius-sm);background:var(--card-bg);color:var(--text-color);box-shadow:var(--box-shadow)}.leaflet-popup-close-button{color:var(--text-muted)}.leaflet-popup-close-button:hover{color:var(--text-color)}.polygon-context-menu{position:absolute;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--box-shadow);padding:5px 0;z-index:10000;min-width:120px;border-radius:var(--border-radius-sm)}.polygon-context-menu button{display:block;width:100%;padding:6px 12px;background:none;border:none;text-align:left;cursor:pointer;font-size:.9em;color:var(--text-color);transition:var(--transition)}.polygon-context-menu button:hover{background-color:var(--gray-100)}.leaflet-draw-tooltip{border-radius:var(--border-radius-sm);background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.leaflet-draw-toolbar a{border-radius:var(--border-radius-sm);background-color:var(--card-bg);border:1px solid var(--border-color);transition:var(--transition)}.leaflet-draw-toolbar a:hover{background-color:var(--gray-100)}.leaflet-draw-section .leaflet-draw-toolbar{margin-top:0}.leaflet-control-geocoder.leaflet-control{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--box-shadow);border-radius:var(--border-radius-sm);z-index:1015}.leaflet-control-geocoder-icon{border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm)}.leaflet-control-geocoder-form{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0}.leaflet-control-geocoder-form input{background-color:var(--card-bg);color:var(--text-color);border:none}.leaflet-control-geocoder-alternatives{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.leaflet-control-geocoder-alternatives li{color:var(--text-color);transition:var(--transition)}.leaflet-control-geocoder-alternatives li:hover,.leaflet-control-geocoder-alternatives li.leaflet-control-geocoder-suggestion-selected{background-color:var(--gray-100)}.file-drop-zone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:30px;text-align:center;cursor:pointer;background-color:var(--gray-100);color:var(--text-muted);margin-top:var(--spacing-md);transition:var(--transition)}.file-drop-zone p{margin:0;font-size:.9em;pointer-events:none}.file-drop-zone.drag-over{border-color:var(--primary);background-color:#4361ee1a;color:var(--primary)}.file-loader-dialog-input{margin-top:var(--spacing-md);display:block;text-align:center}.file-loader-dialog-input label{font-size:.9em;margin-right:5px}.file-loader-dialog-input input[type=file]{font-size:.9em}.map-annotation-icon{background:none!important;border:none!important;box-shadow:none!important}.map-annotation-label{display:inline-block;background-color:#ffffffeb;color:#1a1a2e;border:1px solid rgba(0,0,0,.3);border-radius:4px;padding:3px 8px;font-size:.82em;font-weight:600;white-space:nowrap;box-shadow:0 1px 4px #00000040;cursor:default;pointer-events:auto;user-select:none;max-width:200px;overflow:hidden;text-overflow:ellipsis}.map-annotation-tooltip.leaflet-tooltip{background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:var(--box-shadow);font-size:.85em;max-width:260px;white-space:pre-wrap;word-break:break-word;padding:6px 10px}.map-annotation-tooltip.leaflet-tooltip:before{border-top-color:var(--border-color)}body.dark-theme .map-annotation-label{background-color:#1e1e32eb;color:#e0e0f0;border-color:#fff3}.measurement-banner{background-color:#7b2d8b;gap:8px}.measurement-popup-content{min-width:160px;font-size:.9em}.measurement-popup-content p{margin:4px 0;color:var(--text-color)}.measurement-popup-content strong{display:block;margin-bottom:6px;font-size:1em}.measurement-meta{font-size:.8em;color:var(--text-muted)}.measurement-clear-btn{margin-top:8px;padding:3px 10px;font-size:.82em;cursor:pointer;background-color:var(--gray-200);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);transition:var(--transition)}.measurement-clear-btn:hover{background-color:var(--danger);color:#fff;border-color:var(--danger)}.layer-item-wrapper{display:flex;flex-direction:column}.layer-style-panel{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--gray-100);border-top:1px solid var(--border-color);flex-wrap:wrap}.layer-style-label{font-size:.8em;color:var(--text-muted);display:flex;align-items:center;gap:4px}.layer-style-colour{width:28px;height:22px;padding:1px;cursor:pointer;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:none;vertical-align:middle}.layer-style-opacity{width:70px;cursor:pointer;vertical-align:middle;accent-color:var(--primary)}.layer-style-opacity-value{font-size:.78em;color:var(--text-muted);min-width:30px}body.dark-theme .layer-style-panel{background:var(--gray-200);border-color:var(--border-color)}.new-marker-entry{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:8px 10px 10px;margin-bottom:8px}.new-marker-entry legend{font-size:.82em;font-weight:600;padding:0 4px;color:var(--text-muted)}.new-marker-row{display:flex;gap:8px}.new-marker-preview-list{max-height:110px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:2px 0;margin:4px 0 6px;font-size:.83em}.new-marker-preview-list ul{list-style:none;padding:0;margin:0}.new-marker-preview-list li{display:flex;justify-content:space-between;align-items:center;padding:3px 8px;border-bottom:1px solid var(--border-color);color:var(--text-color)}.new-marker-preview-list li:last-child{border-bottom:none}.add-marker-coords{font-size:.82em;color:var(--text-muted);margin:0 0 10px;font-style:italic}.panel-sub-header{border-top:1px solid rgba(0,0,0,.08);border-left:3px solid rgba(67,97,238,.4);background:linear-gradient(90deg,rgba(67,97,238,.04) 0%,transparent 100%);margin-top:2px;flex-shrink:0;border-radius:0}.wms-options-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wms-transparent-label{display:flex;align-items:center;gap:4px;font-size:.88em;color:var(--text-color);cursor:pointer}#attr-table-panel{position:fixed;bottom:50px;left:0;right:0;height:220px;background:var(--card-bg);border-top:2px solid var(--primary);box-shadow:0 -3px 12px #00000026;display:none;flex-direction:column;pointer-events:auto;z-index:1020;color:var(--text-color)}.attr-table-header{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:var(--gray-100);border-bottom:1px solid var(--border-color);flex-shrink:0}.attr-table-header-title{font-weight:600;font-size:.88em;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr-table-close-btn{background:none;border:none;font-size:1.2em;cursor:pointer;color:var(--text-muted);line-height:1;padding:0 4px;flex-shrink:0;transition:var(--transition)}.attr-table-close-btn:hover{color:var(--danger)}.attr-table-container{flex:1;overflow:auto}.attr-table-empty{padding:12px;color:var(--text-muted);font-style:italic;font-size:.88em}.attr-table{width:100%;border-collapse:collapse;font-size:.8em}.attr-table th{position:sticky;top:0;background:var(--gray-200);border:1px solid var(--border-color);padding:4px 8px;text-align:left;white-space:nowrap;font-weight:600;color:var(--text-color);z-index:1}.attr-table td{border:1px solid var(--border-color);padding:3px 8px;color:var(--text-color);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.attr-table tbody tr{cursor:pointer}.attr-table tbody tr:hover{background:var(--gray-100)}.attr-table tbody tr.attr-row-selected{background:#6b8cff33}body.dark-theme #attr-table-panel{background:var(--card-bg);border-color:var(--primary)}body.dark-theme .attr-table-header{background:var(--gray-100)}body.dark-theme .attr-table th,body.dark-theme .attr-table tbody tr:hover{background:var(--gray-200)}@media (max-width: 480px){#attr-table-panel{height:180px;bottom:44px}}.attr-table-filter-row{padding:4px 8px;background:var(--gray-100);border-bottom:1px solid var(--border-color);flex-shrink:0}#attr-table-filter{width:100%;box-sizing:border-box;padding:3px 8px;font-size:.82em;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--card-bg);color:var(--text-color)}#attr-table-filter:focus{outline:none;border-color:var(--primary)}#north-arrow{position:fixed;right:14px;top:94px;display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:1015;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.north-arrow-label{font-size:.7em;font-weight:700;color:var(--text-color);line-height:1;margin-top:2px;letter-spacing:.05em}body.dark-theme .leaflet-control-scale-line{border-color:var(--text-color);color:var(--text-color);background:#00000080}.map-tool-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary-dark)!important}@media print{header,footer,#map-tools,#controls,#layers-panel,#markers-panel,#coords-panel,#attr-table-panel,#north-arrow,#add-marker-banner,.measurement-banner,.annotation-placement-banner,.toaster-container,.leaflet-control-geocoder,.leaflet-control-zoom{display:none!important}body{padding:0!important;overflow:visible!important;background:#fff!important}#map{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important}#ui-overlay{display:none!important}.leaflet-control-scale,.leaflet-control-attribution{display:block!important}}.vis-item-btn{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85em;line-height:1;padding:0 4px;border-radius:var(--border-radius-sm);transition:var(--transition)}.vis-item-btn:hover{color:var(--primary)}.list-item.layer-hidden .item-name{opacity:.45;text-decoration:line-through}.coords-hint{font-style:italic;font-size:.8em;color:var(--text-muted);text-align:center;margin:2px 0 4px}.annotation-placement-banner{position:fixed;top:90px;left:50%;transform:translate(-50%);z-index:1030;background-color:var(--primary);color:#fff;padding:6px 16px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);font-size:.9em;display:flex;align-items:center;gap:10px;pointer-events:auto;white-space:nowrap}.annotation-placement-banner i{font-size:1em}.annotation-placement-banner button{background:#fff3;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:var(--border-radius-sm);padding:2px 8px;font-size:.85em;cursor:pointer;transition:var(--transition)}.annotation-placement-banner button:hover{background:#ffffff59}body.dark-theme #map{background-color:var(--gray-300)}body.dark-theme .drawer,body.dark-theme .dialog{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-theme .dialog-header{background-color:var(--gray-100);border-color:var(--border-color)}body.dark-theme #controls,body.dark-theme #map-tools,body.dark-theme .data-panel,body.dark-theme #coords-panel{background:#0a102aeb;border-color:#4361ee38;box-shadow:0 6px 24px #00000080,0 1px 4px #4361ee26}body.dark-theme #map-tools button.map-tool-btn{color:#b4c4ffcc}body.dark-theme #map-tools button.map-tool-btn:hover{background:#4361ee38;border-color:#4361ee66;color:#a5b8ff}body.dark-theme .controls-header,body.dark-theme .panel-header,body.dark-theme .coords-panel-header{background:linear-gradient(90deg,#4361ee38,#4361ee0d);border-color:#4361ee33;color:#a5b8ff}body.dark-theme .list-item:hover{background:#4361ee29}body.dark-theme .coord-label{color:#82a0ffcc}body.dark-theme .panel-header button{background:#4361ee2e;border-color:#4361ee59;color:#a5b8ff}body.dark-theme .panel-header button:hover{background:#4361ee4d}body.dark-theme .leaflet-bar a{background-color:var(--card-bg);border-color:var(--border-color);color:var(--text-color)}body.dark-theme .leaflet-bar a:hover{background-color:var(--gray-200)}body.dark-theme .leaflet-control-attribution{background:var(--card-bg)!important;color:var(--text-muted)!important}body.dark-theme .leaflet-popup-content-wrapper,body.dark-theme .leaflet-popup-tip{background:var(--card-bg);color:var(--text-color)}body.dark-theme .leaflet-draw-toolbar a{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-theme .leaflet-draw-toolbar a:hover{background-color:var(--gray-200)}body.dark-theme .leaflet-draw-tooltip{background:var(--card-bg);border-color:var(--border-color);color:var(--text-color)}body.dark-theme .leaflet-control-geocoder.leaflet-control{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-theme .leaflet-control-geocoder-form input{background-color:var(--card-bg);color:var(--text-color)}body.dark-theme .leaflet-control-geocoder-alternatives{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-theme .leaflet-control-geocoder-alternatives li:hover{background-color:var(--gray-200)}body.dark-theme .polygon-context-menu{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-theme .polygon-context-menu button:hover{background-color:var(--gray-200)}body.dark-theme .file-drop-zone{border-color:var(--border-color);background-color:var(--gray-100)}body.dark-theme .file-drop-zone.drag-over{border-color:var(--primary);background-color:#6b8cff26}@media (max-width: 768px){body{padding-top:110px}#map,#ui-overlay{top:110px}#map-tools,#layers-panel{top:120px}#markers-panel{top:190px}}@media (max-width: 480px){body{padding-top:120px;padding-bottom:44px}#map,#ui-overlay{top:120px;bottom:44px}#coords-panel{bottom:54px}#map-tools{top:auto;bottom:54px;left:50%;transform:translate(-50%);flex-direction:row;align-items:center}.map-tools-header{display:none}.map-tools-buttons{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:4px;max-width:calc(100vw - 20px)}.annotation-placement-banner{top:130px;font-size:.8em;padding:5px 10px}#layers-panel,#markers-panel{max-width:calc(50vw - 15px);min-width:120px;font-size:.8em}#markers-panel{top:130px}}
