#app,body,html{height:100%}#map .leaflet-popup-content-wrapper{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.leaflet-interactive{cursor:pointer}.vue-slider{margin:4px 6px 0}.vue-slider-ltr .vue-slider-mark-label,.vue-slider-rtl .vue-slider-mark-label{margin-top:4px}.legend-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}.legend-title{font-weight:600}.legend-help{position:relative;width:18px;height:18px;line-height:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#003252;background:#00cbd5;border-radius:50%;cursor:help;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.legend-help:focus .legend-tooltip,.legend-help:hover .legend-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.legend-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);background:#fff;color:#172b4d;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.2);min-width:240px;max-width:320px;z-index:1002;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.legend-tooltip:after{content:"";position:absolute;right:8px;top:100%;border-width:6px;border-style:solid;border-color:#fff transparent transparent transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.1))}.legend-table{width:100%;border-collapse:collapse;font-size:12px}.legend-table td,.legend-table th{padding:4px 6px;border-bottom:1px solid #eee;text-align:left}.legend-table thead th{font-weight:700;color:#0b2239}.legend-table tbody tr:last-child td{border-bottom:0}.icon-btn{width:32px;height:32px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center}.custom-logout-control{background:transparent;border:0;box-shadow:none}.custom-logout-control .icon-btn{box-shadow:0 1px 2px rgba(0,0,0,.15)}.logo-control-bottom{background:#003252;padding:10px;border-radius:8px}.leaflet-control-layers{background:#003252!important;color:#fff!important;border-color:#fff!important;border-radius:8px!important}.coords-control{background:#003252;color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;border:1px solid hsla(0,0%,100%,.25)}.coords-inner{display:flex;flex-direction:column;gap:6px}.coords-row{display:flex;align-items:center;gap:6px}.coords-label{font-weight:600}.coords-select{background:#003252!important;color:#fff!important;border-color:#fff!important;height:28px;padding:2px 6px;border-radius:6px}.coords-values{display:flex;gap:10px;font-variant-numeric:tabular-nums}.coords-key{opacity:.8;margin-right:2px}.leaflet-control-measure,.leaflet-control-measurecontrol,.leaflet-measure-control{border-radius:8px;overflow:hidden}.leaflet-control-draw-measure-2{background:#003252!important;color:#fff!important;border-radius:8px!important;padding:4px!important;border:2px solid #fff!important;cursor:pointer}.leaflet-control-draw-measure{background:#00335200!important;color:#fff!important;border-radius:0!important;border:0 solid #fff!important;cursor:pointer}.leaflet-control-draw-measure-2:hover{background:#005a7a!important}.leaflet-bar{border-radius:8px;width:47px!important;height:47px!important}.chart-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000}.chart-modal{height:min(60vh)}.chart-modal,.chart-modal-info{width:min(900px);background:#0b2239;color:#fff;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden}.chart-modal-info{height:100vh}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#003252;border-bottom:1px solid hsla(0,0%,100%,.1)}.chart-title{font-weight:600}.map-wrap{position:relative}.map-loader-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1003;pointer-events:none}.map-spinner{width:48px;height:48px;border:4px solid hsla(0,0%,100%,.35);border-top-color:#00cbd5;border-radius:50%;animation:mapspin .9s linear infinite;margin-bottom:10px}.map-loader-text{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.4)}@keyframes mapspin{to{transform:rotate(1turn)}}.chartWrapper{position:relative;height:100%}.chartWrapper>canvas{position:absolute;left:0;top:0;pointer-events:none}.chartAreaWrapper{width:100%;height:calc(100% - 48px);overflow-x:auto;overflow-y:hidden;overflow-x:scroll;direction:rtl}