@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-5{bottom:1.25rem}.bottom-full{bottom:100%}.left-3{left:.75rem}.right-0{right:0}.right-5{right:1.25rem}.top-3{top:.75rem}.z-\[1000\]{z-index:1000}.-ml-1{margin-left:-.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-6{margin-left:1.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-0{height:0}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[400px\]{height:400px}.h-full{height:100%}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.min-w-full{min-width:100%}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-t-2{border-top-width:2px}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:rgba(59,130,246,.2)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pr-3{padding-right:.75rem}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.map-container{position:absolute}.leaflet-container,.map,.map-container{width:100%;height:100%}.leaflet-container{font-family:inherit}.leaflet-control-container{z-index:800!important}.leaflet-control-zoom{z-index:800!important;margin:12px!important;box-shadow:var(--shadow-md)!important;border:none!important}.leaflet-control-zoom a{background:#fff!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.leaflet-control-zoom a:hover{background:var(--background-secondary)!important}.leaflet-control-scale{margin:12px!important}.leaflet-map-pane{z-index:0!important}.leaflet-popup{z-index:950!important}:root{--blue-gradient:linear-gradient(135deg,#1e40af,#3b82f6);--panel-gradient:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(248,250,252,.9));--hover-gradient:linear-gradient(135deg,rgba(248,250,252,.95),rgba(241,245,249,.9));--primary:#1e40af;--primary-light:#3b82f6;--primary-dark:#1e3a8a;--accent:#8b5cf6;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-hover:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--bg-main:#f8fafc;--bg-panel:hsla(0,0%,100%,.2);--bg-sidebar:hsla(0,0%,100%,.98);--text-primary:#0f172a;--text-secondary:#334155;--text-light:#f8fafc;--transition:200ms cubic-bezier(0.4,0,0.2,1);--text-dark:#1e293b;--text-secondary-dark:#334155;--background-panel:transparent;--background-secondary:rgba(248,250,252,.98);--accent-color:#3b82f6;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--border-color:hsla(0,0%,100%,.4);--transition-speed:0.2s;--transition-ease:cubic-bezier(0.4,0,0.2,1);--bg-card:hsla(0,0%,100%,.35);font-family:Inter,sans-serif}@media (prefers-color-scheme:dark){:root{--bg-main:#0f172a;--bg-panel:rgba(15,23,42,.95);--bg-sidebar:rgba(17,24,39,.98);--text-primary:#f8fafc;--text-secondary:#cbd5e1}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-main);color:var(--text-primary)}.custom-tooltip{padding:12px;color:var(--text-light)}.custom-tooltip,.leaflet-control-layers{background:var(--background-light);border-radius:8px;box-shadow:var(--shadow-light)}.leaflet-control-layers-list{margin:0;padding:0}.panel-transition{transition:all .3s ease}@media (prefers-color-scheme:dark){.custom-tooltip,.leaflet-control-layers{background:var(--background-dark);color:var(--text-dark)}}.panel-tab{color:var(--text-light)}.panel-tab.active{background:var(--primary);color:var(--text-dark)}.panel-tab:not(.active){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.panel-tab:not(.active):hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.custom-popup{border-radius:.5rem;padding:.75rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.custom-popup h3{margin-bottom:.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.custom-popup p{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.leaflet-control-layers,.leaflet-control-layers-list{background:var(--background-light)!important;color:var(--text-dark)!important}.leaflet-control-layers label{color:var(--text-dark)!important;font-weight:500!important}.layer-group-title,.sidebar h2,.sidebar-section h2,.statistics-panel h2{color:var(--text-dark)!important;font-weight:600!important}.layer-control,.layer-item,.layer-toggle{color:var(--text-secondary-dark)!important}.custom-tooltip{border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){.panel-tab:not(.active){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.custom-popup,.custom-tooltip,.panel-tab:not(.active):hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.custom-popup,.custom-tooltip{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.custom-popup h3{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.custom-popup p{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}}.statistics-panel{border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){.statistics-panel{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}}.stats-title{margin-bottom:1.5rem;border-bottom-width:1px;padding-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){.stats-title{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}}.stats-card{border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.stats-card,.stats-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stats-card:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}@media (prefers-color-scheme:dark){.stats-card{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}}.stats-card-title{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){.stats-card-title{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}}.stats-card-value{font-size:1.875rem;line-height:2.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){.stats-card-value{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}}.stats-tabs{margin-bottom:1rem;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){.stats-tabs{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}}.stats-tab{border-radius:.375rem;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.stats-tab-active{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stats-tab-inactive{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.stats-tab-inactive:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}@media (prefers-color-scheme:dark){.stats-tab-inactive{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.stats-tab-inactive:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}}.stats-chart-container{border-radius:.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.stats-chart-container,.stats-chart-container:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.stats-chart-container:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}@media (prefers-color-scheme:dark){.stats-chart-container{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}}.stats-chart-title{margin-bottom:1rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){.stats-chart-title{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}}.recharts-wrapper{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.recharts-default-tooltip{border-radius:.5rem!important;border-style:none!important;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;background:var(--background-panel)!important;border:1px solid var(--border-color)!important;padding:1rem!important}.recharts-tooltip-label{font-size:.875rem!important;line-height:1.25rem!important;font-weight:600!important;color:var(--text-primary)!important}@media (prefers-color-scheme:dark){.recharts-default-tooltip{background-color:rgba(26,26,26,.95)!important;color:#e5e7eb!important}.temporal-chart{background:#1f2937}.temporal-chart .recharts-cartesian-grid-horizontal line,.temporal-chart .recharts-cartesian-grid-vertical line{stroke:#374151}.temporal-chart .recharts-xaxis-tick-value,.temporal-chart .recharts-yaxis-tick-value{fill:#e5e7eb}.temporal-chart-tooltip{background:rgba(31,41,55,.98);border-color:#374151;color:#e5e7eb}}.panel-content{width:500px;max-width:100%;overflow-x:hidden}@media (min-width:1024px){.panel-content{width:500px}}.panel-base{border-radius:.5rem;background:var(--bg-panel);backdrop-filter:blur(8px);box-shadow:var(--shadow);transition:var(--transition)}.panel-base:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-effect{transition:var(--transition)}.hover-effect:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.button-effect{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.button-effect:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.leaflet-control-attribution,.leaflet-control-layers{display:none!important}.leaflet-tooltip{color:var(--text-dark)!important;background:var(--background-panel)!important}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner-ring{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-header{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));background-color:hsla(0,0%,100%,.8);--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .3s ease;background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(247,248,253,.8))}.app-header:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:linear-gradient(135deg,hsla(0,0%,100%,.95),rgba(247,248,253,.9))}.header-content{width:100%}@media (min-width:640px){.header-content{max-width:640px}}@media (min-width:768px){.header-content{max-width:768px}}@media (min-width:1024px){.header-content{max-width:1024px}}@media (min-width:1280px){.header-content{max-width:1280px}}@media (min-width:1536px){.header-content{max-width:1536px}}.header-content{margin-left:auto;margin-right:auto;padding:.5rem 1rem;max-width:1920px}.header-left{gap:1rem}.header-left,.header-logos{display:flex;align-items:center}.header-logos{gap:1.5rem}.logo-container{display:flex;align-items:center;justify-content:center;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;height:40px}.logo-container:first-child img{height:36px;width:auto;object-fit:contain}.logo-container:last-child img{height:32px;width:auto;object-fit:contain}.logo-container img{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.logo-container:hover img{transform:scale(1.05)}.header-title{margin-left:1.5rem;gap:.75rem;border-left-width:1px;border-color:rgba(229,231,235,.5);padding-left:1.5rem}.header-title h1{font-size:1.25rem;line-height:1.75rem;font-weight:700;line-height:1.2;background:linear-gradient(135deg,#1e3a8a,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:2px 2px 4px rgba(0,0,0,.1);position:relative}.header-title h1:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);opacity:0;transition:opacity .3s ease}.header-title:hover h1:after{opacity:1}.menu-button{border-radius:.5rem;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid rgba(148,163,184,.1)}.menu-button:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.download-button,.menu-button:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.download-button{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:linear-gradient(135deg,#1e40af,#3b82f6);border:1px solid rgba(59,130,246,.5)}.download-button:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:linear-gradient(135deg,#1e3a8a,#2563eb)}.info-panel{max-height:calc(100vh - 180px);overflow-y:auto;padding:1.5rem}.info-panel::-webkit-scrollbar{width:8px}.info-panel::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.info-panel::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.info-panel::-webkit-scrollbar-thumb:hover{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.info-panel section{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.info-panel section:hover{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group-content,.group-header,.layer-group,.layer-item,.legend-card,.statistics-panel .sidebar-section,.stats-card{background:var(--bg-card)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.sidebar{background:var(--bg-panel)!important}.alarma-star-icon{transition:all .3s ease}.alarma-star-icon:hover{transform:scale(1.2);filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.alarma-popup{padding:1rem;min-width:250px}.alarma-popup h3{margin-bottom:.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:#1e40af;border-bottom:2px solid #fbbf24;padding-bottom:.5rem}.alarma-popup p{margin-bottom:.5rem;line-height:1.4}.alarma-popup strong{color:#374151}@keyframes starPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.alarma-star-icon[data-estado=operativo]{animation:starPulse 2s ease-in-out infinite}.alarma-popup .estado-badge{display:inline-block;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;transition:all .2s ease}.alarma-popup .estado-badge.operativo{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.alarma-popup .estado-badge.no-operativo{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.statistics-panel{padding:15px}.statistics-message{padding:15px;text-align:center;color:#666}.statistics-error{padding:15px;color:#dc3545;text-align:center}.sidebar-section{margin-bottom:1.5rem;border-radius:.5rem;background:var(--background-panel);border:1px solid var(--border-color)}.sidebar-section h2{margin-bottom:1rem;padding-left:1rem;padding-right:1rem;color:var(--text-primary);font-weight:600}.sidebar-section .header{background:var(--primary);color:#fff!important}.sidebar-section .header *{color:#fff!important}.sidebar{position:fixed;left:0;top:64px;width:400px;height:calc(100vh - 64px);background:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 6px rgba(0,0,0,.02);z-index:40;display:flex;flex-direction:column;transform:translateX(0);transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.panel-closed .sidebar{transform:translateX(-100%);opacity:0}.sidebar-nav{justify-content:space-around;padding:1rem;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid hsla(0,0%,100%,.2);flex:0 0 auto;width:100%}.nav-button,.sidebar-nav{display:flex;align-items:center}.nav-button{justify-content:center;width:44px;height:44px;border-radius:12px;color:#1e40af;background:hsla(0,0%,100%,.8);transition:all .3s ease;padding:.5rem;position:relative;overflow:hidden;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.2)}.nav-button:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.2),transparent);opacity:0;transition:opacity .3s ease}.nav-button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.05)}.nav-button:hover:before{opacity:1;animation:shine 1s infinite}.nav-button.active{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none}.panel-header{background:#fff;border-bottom:1px solid #e5e7eb;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between}.panel-header h2{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.layers-panel{flex:1;display:flex;flex-direction:column;min-height:0;background:transparent}.layers-content{flex:1;overflow-y:auto;padding:1rem}.layer-group{position:relative;background:hsla(0,0%,100%,.35)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.4);border-radius:.75rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.03),0 1px 3px rgba(0,0,0,.05);transition:transform .3s ease}.group-header{padding:.75rem 1rem;background:hsla(0,0%,100%,.4)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid hsla(0,0%,100%,.4);cursor:pointer;justify-content:space-between;font-weight:500;color:#1e40af}.group-header,.group-header .title{display:flex;align-items:center;font-size:.9rem}.group-header .title{gap:.5rem}.group-content{padding:.5rem;background:hsla(0,0%,100%,.35)!important}.group-content,.layer-item{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:.85rem}.layer-item{padding:.5rem .75rem;border-radius:.5rem;margin-bottom:.5rem;background:hsla(0,0%,100%,.4)!important;border:1px solid hsla(0,0%,100%,.4);box-shadow:0 2px 4px rgba(0,0,0,.03),0 1px 3px rgba(0,0,0,.05);transition:transform .3s ease;line-height:1.4}.layer-item:hover{transform:translateX(4px)}.layer-group:hover{transform:translateY(-2px)}.opacity-slider{background:linear-gradient(90deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.2));border-radius:.25rem;height:4px;border:1px solid hsla(0,0%,100%,.1)}.opacity-slider::-webkit-slider-thumb{background:linear-gradient(135deg,#1e40af,#3b82f6);border:2px solid hsla(0,0%,100%,.8);box-shadow:0 2px 4px rgba(0,0,0,.1);border-radius:50%;width:16px;height:16px;cursor:pointer}.layers-content::-webkit-scrollbar{width:6px}.layers-content::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1)}.layers-content::-webkit-scrollbar-thumb{background:rgba(30,64,175,.2);border-radius:3px}.layers-content::-webkit-scrollbar-thumb:hover{background:rgba(30,64,175,.3)}.basemap-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;width:100%;border:none;background:transparent;cursor:pointer;transition:all .3s ease}.form-radio{border:2px solid rgba(59,130,246,.5);cursor:pointer}.form-radio:checked{background-color:#1e40af;border-color:#1e40af}.basemap-item:focus{outline:none}.basemap-item.active .icon,.basemap-item.active .label{color:inherit;font-weight:400}.basemap-item:hover{background:transparent}.layer-item input[type=radio]{margin:0;padding:0}.legend-container{margin-top:1rem;padding:1rem;background:hsla(0,0%,100%,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.3);border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.02)}.panel-tab{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.panel-tab.active{background-color:var(--primary);color:var(--text-light)}.panel-tab:not(.active){color:var(--text-secondary)}.panel-tab:not(.active):hover{background-color:var(--background-secondary)}.panel-header{background:var(--background-panel)!important;font-weight:600!important;border-bottom:1px solid var(--border-color);padding:1rem;z-index:10}.panel-header,.panel-header *,.tremor-Tab,.tremor-Title,h1,h2,h3,h4,h5,h6{color:var(--text-dark)!important}.tremor-Tab-selected{color:var(--primary)!important;background:hsla(0,0%,100%,.9)!important}@media (prefers-color-scheme:dark){.sidebar{background:var(--background-dark)!important;color:var(--text-dark)!important;box-shadow:var(--shadow-dark)}.sidebar-section{background:var(--background-dark)}.sidebar-section h2{color:var(--text-dark)}.tremor-Card,.tremor-Tab{color:var(--text-dark)!important}.tremor-Card{background:var(--background-dark)!important}}.main-header{position:fixed;top:0;left:0;right:0;height:64px;background:linear-gradient(120deg,hsla(0,0%,100%,.9),rgba(248,250,252,.8));backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid rgba(229,231,235,.3);box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);z-index:50}.main-header:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);opacity:0;transition:opacity .3s ease}.main-header:hover:before{opacity:1;animation:shine 1.5s infinite}.header-content{max-width:100%;height:100%;padding:0 1.5rem;justify-content:space-between}.header-content,.logos-container{display:flex;align-items:center;position:relative}.logos-container{gap:1.25rem;padding:0 .75rem}.logo-wrapper{position:relative;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:hsla(0,0%,100%,.9);box-shadow:0 2px 4px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.02);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.logo-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.8),transparent);opacity:0;transition:opacity .3s ease}.logo-wrapper:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.02)}.logo-wrapper:hover:before{opacity:1;animation:shine 1s infinite}.header-logo{object-fit:contain;transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.header-title-container{position:relative;padding-left:1.5rem;margin-left:.5rem}.header-title-container:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:70%;background:linear-gradient(180deg,transparent,rgba(30,64,175,.8),transparent);box-shadow:0 0 8px rgba(30,64,175,.3)}.header-title{font-size:1.125rem;font-weight:600;white-space:nowrap;display:flex;align-items:center;letter-spacing:.01em;background:linear-gradient(45deg,#1e40af,#3b82f6,#1e40af);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient 8s linear infinite;text-shadow:2px 2px 4px rgba(0,0,0,.1);transition:all .3s ease}@keyframes gradient{0%{background-position:0}to{background-position:200%}}.header-button,.menu-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;color:#1e40af;background:rgba(30,64,175,.05);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.header-button:before,.menu-button:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.2),transparent);opacity:0;transition:opacity .3s ease}.header-button:hover,.menu-button:hover{background:rgba(30,64,175,.1);transform:translateY(-2px);box-shadow:0 4px 6px rgba(30,64,175,.1),0 2px 4px rgba(30,64,175,.06)}.header-button:hover:before,.menu-button:hover:before{opacity:1;animation:shine 1s infinite}.header-button:active,.menu-button:active{transform:translateY(0)}.header-right{display:flex;align-items:center;gap:1rem}@keyframes shine{0%{transform:translateX(-100%) rotate(45deg)}to{transform:translateX(100%) rotate(45deg)}}.menu-button{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#1e40af;background:rgba(30,64,175,.05);transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.menu-button svg{transition:transform .3s cubic-bezier(.4,0,.2,1)}.menu-button-closed svg{transform:rotate(180deg)}.menu-button:hover{background:rgba(30,64,175,.1);transform:translateY(-2px)}.menu-button:active{transform:translateY(0)}.app-container{overflow:hidden}.app-container,.map-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh}.map-container{z-index:10}main.relative.h-screen{overflow:hidden}.flex-1.relative,main.relative.h-screen{padding:0;margin:0}.absolute.inset-0,.flex-1.relative,main.relative.h-screen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh}.leaflet-container{width:100vw!important;height:100vh!important}body{margin:0;padding:0;overflow:hidden;width:100vw;height:100vh}.group-header,.layer-item,.sidebar-content{color:#1e293b;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.legend-card,.statistics-panel .sidebar-section,.stats-card{position:relative;background:hsla(0,0%,100%,.35)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.4);border-radius:.75rem;margin-bottom:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.03),0 1px 3px rgba(0,0,0,.05)}.legend-card .header,.statistics-panel .header,.stats-card-header{padding:1rem;background:hsla(0,0%,100%,.4)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid hsla(0,0%,100%,.4);display:flex;align-items:center;justify-content:space-between;font-weight:500;color:#1e40af}.legend-card .content,.statistics-panel .content,.stats-card-content{padding:.75rem;background:hsla(0,0%,100%,.35)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.legend-card:hover,.statistics-panel .sidebar-section:hover,.stats-card:hover{transform:translateY(-2px);transition:transform .3s ease}.legend-card,.statistics-panel,.stats-card{color:#1e293b;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.infrastructure-icon{background-image:url(/icons/infrastructure.svg)}.evacuation-icon,.infrastructure-icon{width:1.25rem;height:1.25rem;background-size:contain;background-repeat:no-repeat}.evacuation-icon{background-image:url(/icons/evacuation.svg)}.layer-item input[type=checkbox]{position:relative;width:18px;height:18px;margin:0;cursor:pointer;border:2px solid rgba(30,64,175,.4);border-radius:4px;background-color:hsla(0,0%,100%,.2);transition:all .3s ease;-webkit-appearance:none;appearance:none}.layer-item input[type=checkbox]:checked{background-color:#1e40af;border-color:#1e40af}.layer-item input[type=checkbox]:checked:before{content:"";position:absolute;top:2px;left:5px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.layer-item input[type=checkbox]:hover{border-color:#1e40af;background-color:rgba(30,64,175,.1)}.layer-item input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px rgba(30,64,175,.2)}.layer-item .checkbox-container{display:flex;align-items:center;gap:.5rem}.layer-item input[type=range]{height:4px;border-radius:2px;background:linear-gradient(90deg,#1e40af,#3b82f6);outline:none;transition:all .3s ease;cursor:pointer}.layer-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #1e40af;cursor:pointer;transition:all .3s ease;box-shadow:0 0 4px rgba(0,0,0,.1)}.layer-item input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);background:#f8fafc}.info-icon-wrapper{cursor:pointer;padding:4px;border-radius:50%;transition:all .3s ease}.info-icon-wrapper:hover{background-color:rgba(30,64,175,.1)}.tooltip-inner{background:hsla(0,0%,100%,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.5);border-radius:.5rem;padding:.75rem;box-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);max-width:300px;z-index:1000}.tooltip-content{position:absolute;z-index:1000}