:root{--background-panel:hsla(0,0%,100%,.95);--background-secondary:rgba(248,250,252,.98);--text-primary:#0f172a;--text-secondary:#334155;--text-light:#fff;--text-dark:#1e293b;--border-color:rgba(226,232,240,.8);--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);--primary:#1e40af;--primary-dark:#1e3a8a;--primary-light:#3b82f6;--z-header:1000;--z-sidebar:900;--z-map-controls:800;--z-map:0;--accent-color:#3b82f6;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--transition-speed:0.2s;--transition-ease:cubic-bezier(0.4,0,0.2,1);--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));--blue-gradient:linear-gradient(135deg,#1e40af,#3b82f6)}.sidebar{position:fixed;left:0;top:64px;width:400px;height:calc(100vh - 64px);background:var(--background-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:4px 0 15px rgba(0,0,0,.05),2px 0 5px rgba(0,0,0,.05);border-right:1px solid var(--border-color);z-index:900;overflow:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.sidebar-content{height:100%;padding:1rem;overflow-y:auto}.tremor-TabList{position:sticky;top:0;z-index:10;display:flex;gap:.5rem;background:var(--bg-panel)}.tremor-Tab{flex:1 1 0%;padding:.5rem 1rem;text-align:center;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}.tremor-Tab.text-gray-600{font-size:.75rem;line-height:1.3;margin-bottom:.5rem}.tremor-Tab{background:hsla(0,0%,100%,.5);color:var(--text-secondary);transition:all var(--transition-speed) var(--transition-ease)}.tremor-Tab:hover{background-color:var(--background-secondary)}.tremor-Tab[data-headlessui-state=selected]{background-color:var(--accent-color);color:#fff!important}.statistics-panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.stats-tabs{position:sticky;top:0;z-index:20;padding:.5rem;background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsla(0,0%,100%,.3)}.stats-tab-list{display:flex;gap:.25rem;padding:.25rem;background:var(--background-secondary);border-radius:.375rem}.stats-tab{padding:.375rem .5rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.stats-tab .icon{width:.875rem;height:.875rem;flex-shrink:0}.stats-tab .text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-container{background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.3)}.chart-container:hover{background:hsla(0,0%,100%,.98);box-shadow:0 6px 12px rgba(0,0,0,.08)}.chart-container canvas{font-size:9px!important}.recharts-tooltip-wrapper{max-width:300px}.recharts-tooltip-item-list{word-wrap:break-word}.chart-description{background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:.5rem;padding:1rem;margin-top:1rem}.chart-description-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.chart-description-text{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.chart-description-list{margin-top:.5rem;font-size:.75rem;color:var(--text-secondary)}.chart-description-list li{display:flex;align-items:center;gap:.375rem;padding:.25rem 0}.chart-description-list li:before{content:"•";color:var(--primary)}.stats-tab{flex:1;min-width:0;padding:.5rem;font-size:.75rem;color:var(--text-secondary);border-radius:.375rem;transition:all .2s ease;cursor:pointer;text-align:center;font-weight:500;background:transparent;border:none;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-tab>div{display:flex;align-items:center;justify-content:center;gap:.375rem}.stats-tab .w-4{width:.875rem;height:.875rem;flex-shrink:0}.stats-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-tab:hover{color:var(--primary);background:hsla(0,0%,100%,.8)}.stats-tab[data-state=active]{color:#fff;background:var(--primary)}.stats-content{flex:1;overflow-y:auto;padding:1rem;scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.stats-content::-webkit-scrollbar{width:6px}.stats-content::-webkit-scrollbar-track{background:transparent}.stats-content::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:3px}.stats-card{background:#fff;border-radius:.5rem;border:1px solid var(--border-color);padding:1rem;margin-bottom:1rem;transition:all .2s ease}.stats-card:hover{box-shadow:var(--shadow)}.stats-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stats-card-title{color:var(--text-primary)}.stats-card{animation:slideIn .3s ease-out}.layers-panel{display:flex;flex-direction:column;height:100%;max-height:100%}.panel-header{flex-shrink:0;padding:1rem;z-index:10}.layers-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem;height:0}.layers-content::-webkit-scrollbar-thumb{background-color:rgba(203,213,225,.5)}.layers-content::-webkit-scrollbar-thumb:hover{background-color:rgba(203,213,225,.7)}.layers-content{scrollbar-width:thin;scrollbar-color:rgba(203,213,225,.5) transparent}.layer-group{background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);border-radius:12px;border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 6px rgba(0,0,0,.02),0 1px 3px rgba(0,0,0,.01);margin-bottom:.75rem;transition:transform .3s ease,box-shadow .3s ease}.layer-group:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.03),0 2px 4px rgba(0,0,0,.02)}.group-header{padding:.75rem 1rem;background:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.group-content{padding:.75rem;background:none}.layer-item{padding:.5rem;border-bottom:1px solid var(--border-color);background:none}.layer-item:last-child{border-bottom:none}.legend-container{margin-top:1rem;padding:1rem;background:#fff;border-radius:.5rem;border:1px solid var(--border-color)}.opacity-slider{margin-top:.5rem;padding:0 .5rem;height:4px;border-radius:2px;background:linear-gradient(90deg,#3b82f6,#60a5fa);outline:none}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease}.opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 6px rgba(0,0,0,.1)}.layers-content::-webkit-scrollbar{width:6px}.layers-content::-webkit-scrollbar-track{background:transparent}.layers-content::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:3px}.info-icon-wrapper{position:relative}.basemap-item.active .icon,.basemap-item.active .label{color:var(--primary);font-weight:500}.basemap-item:hover .icon,.basemap-item:hover .label{color:var(--primary)}.chart-container{background:var(--background-panel);box-shadow:var(--shadow);transition:all var(--transition-speed) var(--transition-ease)}.chart-container:hover{box-shadow:var(--shadow-lg)}.donut-chart{background:transparent!important}.bg-blue-600 *,.bg-primary *,[class*=bg-blue-] *{color:#fff!important}@media (prefers-color-scheme:dark){.bg-blue-600 *,.bg-primary *,.layer-group-header,.layer-group-title,[class*=bg-blue-] *{color:#fff!important}}.map-container{height:calc(100vh - 64px);width:100%;z-index:var(--z-map)}.leaflet-control-container,.map-controls{z-index:var(--z-map-controls)}.panel-tab:not(.active):hover{background:var(--background-secondary);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}input[type=checkbox]{border-radius:.25rem;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));color:var(--primary)!important}input[type=checkbox]:checked{background-color:var(--primary)!important;border-color:var(--primary)!important}input[type=range]{height:.5rem;cursor:pointer;appearance:none;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}input[type=range]::-webkit-slider-thumb{background:var(--primary)}.bg-blue-800 *,.bg-primary *,[class*=bg-blue-] *{color:#fff!important}.text-blue-200{color:#bfdbfe!important}.panel-tabs{display:flex;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1));background:var(--background-panel);flex-shrink:0}.panel-content{flex:1 1 0%;overflow-y:auto;height:calc(100% - 48px);padding:1rem}.panel-header,.sidebar .panel-header,.statistics-panel .panel-header,.tremor-Card .panel-header{background:var(--background-panel);color:var(--text-dark)!important;font-weight:600;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.panel-header .tremor-Title,.panel-header h1,.panel-header h2,.panel-header h3,.statistics-panel .tremor-Title,.tremor-Card .tremor-Title{color:var(--text-dark)!important;font-weight:600}.panel-header[class*=bg-] *,.statistics-panel[class*=bg-] *,.tremor-Card[class*=bg-] *{color:var(--text-dark)!important}.statistics-panel .panel-header,.statistics-panel .tremor-Card .tremor-Title,.statistics-panel h2{color:var(--text-dark)!important;font-weight:600}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.chart-container,.statistics-panel{animation:slideIn .3s ease-out}.basemap-control{background:#fff;padding:.5rem;border-radius:.5rem;box-shadow:var(--shadow);margin:1rem!important}.basemap-options{display:flex;flex-direction:column;gap:.5rem}.basemap-button{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.25rem;background:transparent;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.basemap-button:hover{background:var(--background-secondary)}.basemap-button.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.basemap-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:.25rem;border:1px solid var(--border-color)}.leaflet-control.basemap-control{z-index:1000}@media (max-width:768px){.sidebar{width:100%;bottom:0;top:auto}.map-container,.sidebar{height:50vh}.layer-group{margin-bottom:.5rem}.chart-container{padding:1rem;margin-bottom:1rem}}.stats-card{transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid hsla(0,0%,100%,.1);background:linear-gradient(135deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.85))}.stats-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);background:linear-gradient(135deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.9))}.button,.tremor-Tab{position:relative;overflow:hidden}.button:after,.tremor-Tab:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.2) 0,transparent 50%);opacity:0;transition:opacity .3s;pointer-events:none}.button:hover:after,.tremor-Tab:hover:after{opacity:1}.panel-content{animation:slideUpFade .4s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.active-element{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;width:100px;height:100px;background:hsla(0,0%,100%,.4);border-radius:50%;transform:scale(0);animation:ripple .6s linear;transform-origin:center}@keyframes ripple{to{transform:scale(4);opacity:0}}.chart-container{transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateZ(0);backface-visibility:hidden}.chart-container:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.blur-backdrop{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.8);animation:blurIn .3s ease-out}@keyframes blurIn{0%{backdrop-filter:blur(0);background:hsla(0,0%,100%,0)}to{backdrop-filter:blur(8px);background:hsla(0,0%,100%,.8)}}.highlight-card{position:relative;overflow:hidden}.highlight-card:before{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.3));transform:skewX(-25deg);animation:shine 3s infinite}@keyframes shine{to{left:125%}}.loading-overlay{position:fixed;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:9999}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner-ring{width:48px;height:48px;border-top:4px solid var(--background-secondary);border:4px solid var(--background-secondary);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.active-element.spinner-ring{animation:spin 1s linear infinite}.layer-group button{background:var(--blue-gradient);transition:all .3s ease}.layer-group button:hover{filter:brightness(1.1)}.layer-item input[type=checkbox]{width:18px;height:18px;border-radius:6px;border:2px solid rgba(59,130,246,.4);transition:all .2s ease;position:relative;cursor:pointer}.layer-item input[type=checkbox]:checked{background-color:#3b82f6;border-color:#3b82f6}.layer-item input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.group-tooltip{position:fixed;transform:translate(calc(-50% + 1.75rem),10px);margin-top:.5rem;padding:.625rem;background:#fff;border-radius:.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:14rem;z-index:9999;animation:fadeIn .2s ease-out}.group-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.1))}.group-tooltip p{line-height:1.4}.info-button{padding:.25rem;border-radius:50%;transition:all .2s ease}.info-button:hover{background:rgba(0,0,0,.05)}.tooltip-content{z-index:9999;position:fixed;background:#fff;border-radius:.5rem;padding:.625rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:14rem;animation:fadeIn .2s ease-out;font-size:.75rem}.tooltip-content:before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.1))}.tooltip-inner{position:relative;z-index:1}.tooltip-inner h4{font-size:.8125rem;margin-bottom:.375rem}.tooltip-inner p{font-size:.75rem;line-height:1.4}.tooltip-inner .preview-image{border-radius:.375rem;overflow:hidden;border:1px solid var(--border-color)}.tooltip-inner .preview-image img{display:block;width:100%;height:5rem;object-fit:cover}.info-icon-wrapper{padding:.25rem;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.info-icon-wrapper:hover{background:rgba(0,0,0,.05)}.info-icon-wrapper .w-3\.5{width:.875rem;height:.875rem;color:var(--text-secondary);transition:color .2s ease}.info-icon-wrapper:hover .w-3\.5{color:var(--primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px) translateX(-50%)}to{opacity:1;transform:translateY(0) translateX(-50%)}}.panel-header{position:sticky;top:0;background:#fff;z-index:20;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.layers-content{padding-right:1rem}.space-y-3>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:.75rem}.bg-gray-50{background-color:rgba(249,250,251,.8);padding:.75rem;border-radius:.375rem;margin-top:.5rem}.text-sm.text-gray-600{font-size:.75rem;line-height:1.3;margin-bottom:.5rem}.text-xs.text-gray-500{font-size:.7rem;line-height:1.2}.text-xs.text-gray-500 li{position:relative;padding-left:1rem;list-style-type:none!important;margin-bottom:.25rem}.text-xs.text-gray-500 li:before{content:"•";position:absolute;left:0;color:var(--primary)}.chart-container{display:flex;flex-direction:column;height:auto}.chart-container>div:first-child{flex:1}.leaflet-tooltip{background:hsla(0,0%,100%,.95)!important;border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem .75rem;box-shadow:var(--shadow)}.leaflet-tooltip,.leaflet-tooltip *,.leaflet-tooltip div,.leaflet-tooltip p,.leaflet-tooltip span{color:var(--text-primary)!important;font-size:.875rem;font-weight:500}.leaflet-tooltip-top:before{border-top-color:hsla(0,0%,100%,.95)}.leaflet-tooltip[class*=leaflet-tooltip]{color:var(--text-primary)!important}.main-header{position:fixed;top:0;left:0;right:0;height:64px;background:hsla(0,0%,100%,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsla(0,0%,100%,.3);z-index:var(--z-header);box-shadow:0 2px 8px rgba(0,0,0,.05)}.header-content{max-width:1920px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}.logos-container{display:flex;align-items:center;gap:1.5rem;margin:0 2rem}.logo-wrapper{position:relative;width:52px;height:52px;border-radius:12px;background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);overflow:hidden;transition:all .3s ease}.header-title-container{margin-left:2rem;position:relative}.header-title{font-size:1.25rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:800px;background:linear-gradient(90deg,#1e40af,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:1rem}.dashboard-button{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#0f766e,#0d9488);border:none;border-radius:10px;color:#fff;font-weight:500;transition:all .3s ease;box-shadow:0 4px 6px rgba(13,148,136,.2),0 2px 4px rgba(13,148,136,.1);position:relative;overflow:hidden;text-decoration:none}.dashboard-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.dashboard-button:hover{transform:translateY(-2px);box-shadow:0 8px 12px rgba(13,148,136,.2),0 4px 6px rgba(13,148,136,.1)}.dashboard-icon{transition:transform .3s ease}.dashboard-button:hover .dashboard-icon{transform:translateY(-2px)}.download-button{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#1e40af,#3b82f6);border:none;border-radius:10px;color:#fff;font-weight:500;transition:all .3s ease;box-shadow:0 4px 6px rgba(59,130,246,.2),0 2px 4px rgba(59,130,246,.1);position:relative;overflow:hidden}.download-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.download-button:hover{transform:translateY(-2px);box-shadow:0 8px 12px rgba(59,130,246,.2),0 4px 6px rgba(59,130,246,.1)}.download-icon{transition:transform .3s ease}.download-button:hover .download-icon{transform:translateY(-2px)}@keyframes shimmer{0%{opacity:0;transform:translateX(-100%)}50%{opacity:.5}to{opacity:0;transform:translateX(100%)}}@keyframes pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.2}to{transform:scale(1);opacity:.5}}.punto-encuentro-marker{transition:all .3s ease;filter:drop-shadow(0 0 4px rgba(22,163,74,.3))}.punto-encuentro-marker:hover{filter:drop-shadow(0 0 6px rgba(22,163,74,.5))}.custom-tooltip{padding:12px 16px!important;box-shadow:0 4px 8px rgba(0,0,0,.1)!important;max-width:300px!important;pointer-events:none!important;z-index:1000!important}.custom-tooltip strong{margin-bottom:8px;font-size:1rem!important;font-weight:600!important}.custom-tooltip div{color:#334155!important;margin:4px 0;font-size:.9rem!important;line-height:1.4!important}.leaflet-tooltip{z-index:1000!important}.info-panel{height:100%;background:hsla(0,0%,100%,.3);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-y:auto;padding:2rem}.info-content{max-width:800px;margin:0 auto;padding:0 1rem}.info-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:2rem;text-align:center;text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.info-section{margin-bottom:3rem}.info-subtitle{font-size:1.3rem;font-weight:600;color:#1e40af;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(30,64,175,.2);text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.info-text{font-size:1rem;line-height:1.7;color:#1e293b;margin-bottom:1.5rem;text-align:justify;text-shadow:0 1px 1px hsla(0,0%,100%,.5)}.highlight{color:#1e40af;font-weight:600}.info-list{list-style:none;padding:0;margin:0 0 1.5rem}.info-list li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;font-size:1rem;color:#1e293b;line-height:1.6;text-shadow:0 1px 1px hsla(0,0%,100%,.5)}.info-list li:before{content:"•";position:absolute;left:0;color:#3b82f6;font-size:1.5rem;line-height:1;top:-.125rem}.tech-list li{color:#1e293b}.contact-links{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.contact-link{display:flex;align-items:center;gap:.75rem;color:#1e293b;text-decoration:none;transition:all .3s ease;padding:.5rem;border-radius:.5rem;font-size:1rem;text-shadow:0 1px 1px hsla(0,0%,100%,.5)}.contact-link:hover{transform:translateX(.5rem);background:hsla(0,0%,100%,.2)}.contact-icon{font-size:1.25rem;color:#3b82f6}.info-panel::-webkit-scrollbar{width:6px}.info-panel::-webkit-scrollbar-track{background:transparent}.info-panel::-webkit-scrollbar-thumb{background:rgba(59,130,246,.2);border-radius:3px}.info-panel::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.3)}.chart-title,.info-text,.stats-card-title{color:#1e293b;text-shadow:0 1px 1px hsla(0,0%,100%,.5)}.statistics-message{background:hsla(0,0%,100%,.95);padding:2rem;text-align:center;border-radius:1rem;margin:2rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 6px rgba(0,0,0,.05)}.custom-tooltip{background:hsla(0,0%,100%,.95)!important;border:none!important;border-radius:8px!important;padding:8px 12px!important;font-size:.9rem!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important;max-width:250px!important}.custom-tooltip strong{color:#1e40af!important;display:block;margin-bottom:4px}.custom-tooltip br{margin:4px 0}.punto-encuentro-info{padding:1rem;background:hsla(0,0%,100%,.8);margin-top:1rem}.info-title{font-size:1.2rem;font-weight:600;color:#1e40af;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(30,64,175,.2)}.info-section{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;align-items:center;gap:1rem;padding:.5rem;transition:all .3s ease}.info-row:hover{background:hsla(0,0%,100%,.7)}.info-icon{color:#3b82f6;font-size:1.2rem;flex-shrink:0}.info-row label{color:#1e293b;margin-right:.5rem}.search-panel{padding:1rem;height:100%;overflow-y:auto}.search-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.punto-encuentro-info{background:hsla(0,0%,100%,.7);backdrop-filter:blur(8px);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 4px rgba(0,0,0,.05)}.info-row{padding:.75rem;background:hsla(0,0%,100%,.5);border-radius:8px;margin-bottom:.5rem;transition:all .2s ease}.info-row:hover{background:hsla(0,0%,100%,.8);transform:translateX(4px)}.info-row label{font-weight:500;color:#1e40af;display:block;margin-bottom:.25rem}.info-row span{color:#334155}.senal-evacuacion-info{background:hsla(0,0%,100%,.7);backdrop-filter:blur(8px);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 4px rgba(0,0,0,.05)}.ruta-evacuacion-line{stroke:#f97316;stroke-width:4;stroke-dasharray:15,10;stroke-linecap:round;stroke-linejoin:round;animation:dash 30s linear infinite;filter:drop-shadow(0 0 2px rgba(249,115,22,.3))}.ruta-evacuacion-line:hover{stroke-width:6;filter:drop-shadow(0 0 4px rgba(249,115,22,.5));transition:all .3s ease}@keyframes dash{to{stroke-dashoffset:-1000}}.rios-principales-line{stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 2px rgba(14,165,233,.3));transition:all .3s ease}.rios-principales-line:hover{stroke-width:4!important;filter:drop-shadow(0 0 4px rgba(14,165,233,.5))}.vias-line{stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 1px rgba(245,158,11,.2));transition:all .2s ease;vector-effect:non-scaling-stroke}.vias-line:hover{filter:drop-shadow(0 0 2px rgba(245,158,11,.4))}.rios-tooltip,.vias-tooltip{background:hsla(0,0%,100%,.95)!important;border:none!important;border-radius:8px!important;padding:8px 12px!important;font-size:.9rem!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.rios-tooltip strong{color:#0ea5e9!important}.vias-line.tipo-1{stroke-width:5px!important}.vias-line.tipo-2{stroke-width:4px!important}.vias-line.tipo-3{stroke-width:3px!important}.vias-line.tipo-4{stroke-width:2px!important}.vias-tooltip{background:hsla(0,0%,100%,.95)!important;border:none!important;border-radius:8px!important;padding:8px 12px!important;font-size:.9rem!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.vias-tooltip strong{color:#f59e0b!important}.leaflet-tooltip-pane{pointer-events:none}.leaflet-tooltip{transition:transform .1s ease}.tooltip-inner ul{margin-top:.25rem;margin-left:.5rem}.tooltip-inner ul li{position:relative;padding-left:.75rem}.tooltip-inner ul li:before{content:"•";position:absolute;left:0;color:currentColor}.tooltip-inner .details-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1)}.filter-panel{height:100%;overflow-y:auto;background:hsla(0,0%,100%,.25)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 32px 0 rgba(31,38,135,.2),inset 0 0 0 1px hsla(0,0%,100%,.15);padding:1.5rem}.filter-panel input,.filter-panel select{background:hsla(0,0%,100%,.35)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.35);color:#1e293b!important;font-weight:500}.filter-panel select option{background:hsla(0,0%,100%,.98);color:#1e293b}.results-container{background:hsla(0,0%,100%,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.35);border-radius:.5rem}.result-item{background:hsla(0,0%,100%,.2);border-bottom:1px solid hsla(0,0%,100%,.25)}.result-item:hover{background:rgba(59,130,246,.25)}.filter-button{margin-top:2rem;background:rgba(37,99,235,.9)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 4px 6px -1px rgba(0,0,0,.15);padding:.75rem 1rem;font-size:1rem;transition:all .2s ease}.filter-button:hover{background:rgba(37,99,235,.95)!important;box-shadow:0 4px 12px -1px rgba(0,0,0,.2);transform:translateY(-1px)}.filter-button:active{transform:translateY(0)}.notification{position:fixed;top:1rem;right:1rem;padding:1rem;border-radius:.5rem;z-index:1000;animation:slideIn .3s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.3)}.notification.error{background-color:hsla(0,93%,94%,.9);border:1px solid rgba(239,68,68,.3);color:#b91c1c}.notification.success{background-color:rgba(220,252,231,.9);border:1px solid rgba(34,197,94,.3);color:#15803d}.notification-content{display:flex;align-items:center;gap:1rem}.notification button{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:currentColor;opacity:.7;transition:opacity .2s ease}.notification button:hover{opacity:1}.filter-group{margin-bottom:1.5rem}.filter-panel .space-y-4>*+*{margin-top:1.5rem}.stats-panel{padding:20px;background:#fff}.stats-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.stat-item{background:#f8fafc;padding:20px;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.05);border:1px solid #e2e8f0;transition:transform .2s ease}.stat-item:hover{transform:translateY(-2px)}.stat-item label{display:block;font-size:1em;color:#1e293b;font-weight:600;margin-bottom:8px}.stat-item span{font-size:1.8em;font-weight:700;color:#2563eb}.stats-section{margin-top:20px}.stats-section h4{margin-bottom:10px;color:#333}.stats-section ul{list-style:none;padding:0}.stats-section li{padding:5px 0;border-bottom:1px solid #eee}.error-message{color:#dc3545;padding:10px;background:#fff;border-radius:4px;border:1px solid #dc3545}.bar-chart-container,.donut-chart-container{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.05);border:1px solid #e2e8f0;margin-bottom:24px;min-height:400px}.chart-colors{--color-1:#2563eb;--color-2:#16a34a;--color-3:#ea580c;--color-4:#dc2626;--color-5:#7c3aed;--color-6:#2dd4bf;--color-7:#f59e0b;--color-8:#ec4899}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9em;font-weight:500;color:#1e293b}.legend-color{width:12px;height:12px;border-radius:3px}.chart-tooltip{background:#fff;border:1px solid #e2e8f0;padding:12px;border-radius:6px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.chart-tooltip-label{font-weight:600;color:#1e293b;margin-bottom:4px}.chart-tooltip-value{color:#2563eb;font-weight:500}.recharts-pie-label-text{font-size:13px!important;font-weight:600!important;fill:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}.recharts-pie-label-line{display:none}.recharts-legend-item-text{color:#1e293b!important}.recharts-tooltip-wrapper{opacity:1!important}.recharts-default-tooltip{background-color:#fff!important;border:none!important;border-radius:8px!important;box-shadow:0 4px 6px rgba(0,0,0,.1)!important;padding:12px!important}.custom-tooltip{border:1px solid #e2e8f0;padding:12px 16px;border-radius:8px;min-width:150px}.tooltip-label{font-size:14px;margin-bottom:8px;white-space:nowrap}.tooltip-value{font-size:14px;line-height:1.4}@media (prefers-color-scheme:dark){.chart-container{background:#1e1e1e}.recharts-pie-label-text{fill:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.8)!important}.custom-tooltip{background:rgba(26,26,26,.98);border-color:#374151}.tooltip-label{color:#e5e7eb}.tooltip-value{color:#60a5fa}}.chart-container{transition:all .3s ease}.chart-container:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.12)}.chart-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:20px;text-align:center;border-bottom:2px solid #e2e8f0;padding-bottom:10px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#e2e8f0}.recharts-xaxis-tick-value{font-size:12px;font-weight:500}.temporal-chart{width:100%!important;height:350px!important;margin:0 -1rem!important;padding:0!important}.temporal-chart .recharts-wrapper{width:calc(100% + 2rem)!important;height:100%!important;margin:0!important;padding:0!important}.temporal-chart .recharts-xaxis-tick text{font-size:14px!important;font-weight:600!important;fill:#4b5563!important;visibility:visible!important}.temporal-chart .recharts-xaxis text{transform:translateY(10px);visibility:visible!important;display:block!important}.temporal-chart .recharts-cartesian-grid-horizontal line,.temporal-chart .recharts-cartesian-grid-vertical line{stroke:#e2e8f0;stroke-width:1}.temporal-chart .recharts-area-area{opacity:.3}.temporal-chart .recharts-area-curve{stroke-width:3}.temporal-chart .recharts-area-dot{fill:currentColor;stroke:#fff;stroke-width:2}.temporal-chart .recharts-area-dot:hover{stroke-width:3}.temporal-chart .recharts-xaxis-tick-value,.temporal-chart .recharts-yaxis-tick-value{font-size:11px!important;transform:rotate(-45deg);transform-origin:100% 100%}.temporal-chart .recharts-text{fill:#1f2937;font-weight:500}.temporal-chart-tooltip{background:hsla(0,0%,100%,.98);border:1px solid #e5e7eb;padding:.75rem;border-radius:6px;box-shadow:0 4px 6px rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){.temporal-chart{background:#1f2937}.temporal-chart .recharts-area-area{opacity:.2}}.statistics-panel{padding:1.5rem;background:hsla(0,0%,100%,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);height:100%;overflow-y:auto;border:none;box-shadow:0 8px 32px rgba(0,0,0,.1)}.stats-card{background:hsla(0,0%,100%,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1rem;padding:1.25rem;transition:all .3s ease;border:none;box-shadow:0 4px 6px rgba(31,41,55,.05)}.stats-card:hover{transform:translateY(-2px);background:hsla(0,0%,100%,.7)}.stats-card-title{color:#1e293b;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.stats-card-value{color:#2563eb;font-size:1.875rem;font-weight:700;line-height:2.25rem}.chart-container{background:hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(8px);padding:1.5rem .5rem;margin:-1rem -2.5rem 1.5rem;border:none;box-shadow:0 4px 6px rgba(31,41,55,.05);width:calc(100% + 5rem)}.donut-chart-container{height:300px;margin:1rem 0}.custom-tooltip{background:hsla(0,0%,100%,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;box-shadow:0 4px 6px rgba(31,41,55,.1)}.tooltip-label{color:#1e293b}.tooltip-value{color:#2563eb;font-weight:500}.tremor-TabList{background:hsla(0,0%,100%,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;border-radius:.75rem;padding:.5rem;margin-bottom:1rem}.tremor-Tab{color:#1e293b;background:hsla(0,0%,100%,.4);border-radius:.5rem;transition:all .2s ease;border:none}.tremor-Tab:hover{background:hsla(0,0%,100%,.6);color:#2563eb}.tremor-Tab-selected{background:hsla(0,0%,100%,.8);color:#2563eb;box-shadow:0 2px 4px rgba(31,41,55,.05)}.tremor-Title{color:#1e293b;font-weight:600}.tremor-Text{color:#4b5563}.recharts-wrapper{font-family:inherit}.recharts-text{fill:#1e293b}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:rgba(203,213,225,.3)}.recharts-xaxis-tick-value,.recharts-yaxis-tick-value{fill:#1e293b}@media (max-width:768px){.statistics-panel{padding:1rem}.chart-container{min-height:350px}}.statistics-panel .tremor-Title,.statistics-panel h1,.statistics-panel h2,.statistics-panel h3{color:#1e293b;font-weight:600;text-shadow:0 1px 2px hsla(0,0%,100%,.1)}.statistics-panel>h2:first-child{font-size:1.5rem;margin-bottom:1.5rem;color:#1e293b;border-bottom:2px solid rgba(30,41,59,.1);padding-bottom:.5rem}.chart-title,.statistics-panel .tremor-Title,.statistics-panel h1,.statistics-panel h2,.statistics-panel h3,.stats-card-title,.tooltip-label{color:var(--text-dark)!important;font-weight:600}.stats-card-value,.tooltip-value,.tremor-Text{color:var(--text-secondary-dark)!important}.tremor-Tab{color:var(--text-dark)!important}.tremor-Tab-selected{color:var(--primary)!important;background:hsla(0,0%,100%,.9)}.recharts-text,.recharts-xaxis-tick-value,.recharts-yaxis-tick-value{fill:var(--text-dark)!important}.chart-container{padding:1rem 0!important;margin:0 0 1.5rem;overflow:visible!important}.temporal-chart .recharts-responsive-container{padding:0!important;margin:0!important;width:100%!important}.temporal-chart .recharts-wrapper .recharts-cartesian-grid{transform:translateX(10px)}.temporal-chart .recharts-line-curve{stroke-width:2!important}.temporal-chart .recharts-line-dot{r:3!important}.temporal-chart .recharts-line-dot:hover{r:5!important}.donut-tooltip{background:hsla(0,0%,100%,.98);border:1px solid #e5e7eb;padding:.75rem;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.donut-tooltip .tooltip-label{font-weight:600;color:#1e293b;margin-bottom:.25rem}.donut-tooltip .tooltip-value{color:#4b5563;font-size:.875rem}.chart-container{height:100%;min-height:350px}.recharts-pie-sector{transition:transform .2s ease}.recharts-pie-sector:hover{transform:scale(1.03)}.horizontal-bar-chart{margin:1rem 0}.custom-tooltip{background:hsla(0,0%,100%,.98)}.custom-tooltip .tooltip-label{font-weight:600;color:#1e293b;margin-bottom:.25rem}.custom-tooltip .tooltip-value{color:#4b5563;font-size:.875rem}.recharts-bar-rectangle{transition:opacity .2s ease}.recharts-bar-rectangle:hover{opacity:.8}.chart-container{min-height:400px;width:100%;position:relative;padding:1rem;margin-bottom:1rem}.recharts-wrapper{position:relative;width:100%;height:100%}.recharts-bar-rectangle{fill-opacity:.8}.recharts-bar-rectangle:hover{fill-opacity:1}.recharts-text{fill:var(--text-dark)}.tooltip-label{font-weight:600;margin-bottom:.25rem}.tooltip-value{font-size:.875rem;color:#4b5563}.statistics-container{border-radius:.75rem;padding:1.5rem;background:var(--background-panel);backdrop-filter:blur(8px)}.summary-cards{display:flex;gap:20px;margin-bottom:20px}.stat-card{border-radius:.75rem;padding:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--background-light);border:1px solid var(--border-color);box-shadow:var(--shadow);flex:1}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-dark)}.charts-container{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart{border-radius:.75rem;padding:1.5rem;background:var(--background-light);border:1px solid var(--border-color);transition:all var(--transition-speed) var(--transition-ease)}.chart-container{background:hsla(0,0%,100%,.8);backdrop-filter:blur(8px);border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.05)}.custom-tooltip{background:#fff;border:1px solid #e5e7eb;padding:.75rem;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.chart-container .recharts-wrapper{margin:0 auto}.chart-container .recharts-bar-rectangle{transition:opacity .2s ease}.chart-container .recharts-bar-rectangle:hover{opacity:.8}