#map { height: 100%; } /* Estilos generales */ #sidebar { width: 340px; } #sidebar { box-sizing: border-box; } .panel-heading { width: 340px; } /* Botón "Cerrar Sesión" */ #logout-btn { font-size: 14px; padding: 15px 15px; color: gray; display: block; /* Siempre visible */ text-decoration: none; } #logout-btn:hover { color: white; /* Cambia el color al pasar el cursor */ } #treeview { width: 310px; } /* Estilos para dispositivos móviles */ @media (max-width: 768px) { #sidebar { width: 60vw; /* Cambia el ancho a la mitad de la pantalla */ max-width: 100%; /* Evita que exceda el ancho de la pantalla */ min-width: 60%; /* Asegura un tamaño mínimo */ max-height: calc(100vh - 60px); /* Altura máxima para evitar que exceda la pantalla */ overflow-y: auto; /* Permite el scroll si es necesario */ } .panel-heading { width: 100%; } #logout-btn { font-size: 14px; /* Tamaño de fuente más pequeño */ padding: 10px 15px; /* Espaciado más cómodo */ color: white; display: block; /* Asegura que sea visible */ text-align: left; /* Opcional: alinea el texto a la izquierda */ } .navbar-nav .visible-xs { text-align: center; /* Centra el botón en dispositivos pequeños */ } #treeview { width: 90%; margin: 0 auto; /* Centra el treeview */ max-height: calc(100vh - 120px); /* Ajusta la altura máxima según el espacio disponible */ overflow-y: auto; /* Permite desplazamiento interno */ margin-bottom: 10px; /* Asegura un margen inferior */ } .panel-body { font-size: 12px; /* Opcional: reduce el texto para pantallas pequeñas */ } } #info-popup { display: none; position: fixed; top: -100%; /* Iniciar fuera de la pantalla */ left: 50%; transform: translateX(-50%); width: 90%; /* Ancho relativo */ max-width: 600px; /* Ancho máximo */ max-height: 80vh; /* Altura máxima relativa a la altura de la ventana */ overflow: auto; /* Habilitar desplazamiento vertical y horizontal */ padding: 20px; background-color: white; box-shadow: 0 0 15px rgba(0,0,0,0.2); z-index: 1000; border-radius: 8px; transition: top 0.5s; /* Añadir animación */ } #info-popup h4 { margin: 0 0 10px 0; } #info-popup table { width: 100%; border-collapse: collapse; } #info-popup table, #info-popup th, #info-popup td { border: 1px solid black; } #info-popup th, #info-popup td { padding: 8px; text-align: left; } #info-popup button { display: block; margin: 10px auto 0 auto; } /* Media Query para pantallas pequeñas */ @media (max-width: 600px) { #info-popup { width: 90%; max-height: 70vh; /* Ajustar altura para pantallas pequeñas */ padding: 10px; } #info-popup table, #info-popup th, #info-popup td { font-size: 12px; /* Reducir tamaño de fuente en pantallas pequeñas */ } #info-popup button { font-size: 14px; /* Reducir tamaño de botón en pantallas pequeñas */ } } .file-input { display: none; } .upload-btn { position: absolute; top: 10px; left: 10px; z-index: 1000; background: white; padding: 10px; border-radius: 5px; box-shadow: 0 2px 6px rgba(0,0,0,0.3); cursor: pointer; } .legend-container { padding: 10px; /* Espacio alrededor del contenido de la leyenda */ background-color: white; /* Fondo blanco para la leyenda */ border-radius: 5px; /* Bordes redondeados */ box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); /* Sombra para la leyenda */ max-height: 300px; /* Altura máxima de la leyenda */ overflow-y: auto; /* Activa la barra de desplazamiento vertical si es necesario */ -webkit-overflow-scrolling: touch; /* Permite el desplazamiento táctil en móviles */ } /* Estilos para la leyenda en dispositivos móviles */ @media only screen and (max-width: 600px) { .legend-container { max-height: 50vh; /* Altura máxima ajustada a 50% de la altura de la ventana */ max-width: 90vw; /* Ancho máximo ajustado a 90% del ancho de la ventana */ font-size: 14px; /* Reduce el tamaño de fuente para mejor legibilidad */ -webkit-overflow-scrolling: touch; /* Asegura que el desplazamiento táctil funcione en móviles */ } } .legend-item { margin-bottom: 8px; /* Espaciado entre elementos de la leyenda */ padding-left: 10px; /* Espaciado izquierdo */ padding-right: 10px; /* Espaciado derecho */ display: flex; align-items: center; /* Alinea verticalmente los elementos en el centro */ } .legend-symbol { margin-right: 10px; /* Espacio entre el símbolo y el texto */ } .legend-line { margin-right: 10px; /* Espacio entre la línea y el texto */ } .legend-title { margin-bottom: 10px; /* Espacio debajo del título */ font-weight: bold; /* Título en negrita */ font-size: 16px; /* Ajuste del tamaño de la fuente del título */ } /* Opcional: mejorando la usabilidad del botón toggle en dispositivos móviles */ .legend-toggle { cursor: pointer; background-color: #808080; /* Gris */ color: #FFFFFF; /* Blanco */ border: none; /* Sin borde */ padding: 4px 8px; /* Ajuste del padding para dispositivos móviles */ font-size: 16px; /* Tamaño de fuente más grande para mejor accesibilidad */ position: absolute; top: 2px; left: 2px; } .custom-tooltip { z-index: 1000; /* Asegura que la etiqueta esté en frente */ background-color: rgba(255, 255, 255, 0); /* Fondo transparente */ color: black; /* Color del texto */ font-weight: bold; /* Opcional: hacer el texto en negrita */ text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; /* Borde blanco alrededor del texto */ padding: 2px; /* Opcional: un poco de espacio alrededor del texto */ border: none; /* Elimina el marco */ box-shadow: none; /* Elimina cualquier sombra del contenedor de la etiqueta */ white-space: nowrap; /* Evita que el texto se envuelva */ font-size: 10px; /* Tamaño de la fuente */ } .home-button { background-color: white; /* Fondo blanco */ color: black; /* Ícono negro */ font-size: 17px; /* Tamaño del ícono */ width: 36px; /* Ancho del botón */ height: 32px; /* Alto del botón */ text-align: center; /* Centra el contenido horizontalmente */ line-height: 30px; /* Centra el contenido verticalmente */ border-radius: 5px; /* Bordes redondeados */ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Sombra */ cursor: pointer; /* Cambia el cursor al pasar por encima */ user-select: none; /* Evita la selección del texto */ } .home-button:hover { background-color: #f0f0f0; /* Cambia el fondo al pasar el ratón */ } /* Selecciona el botón de Pegman */ .leaflet-pegman-v3-small .pegman-icon { width: 70px !important; /* Aumenta el ancho */ height: 36px; /* Aumenta la altura */ background-size: cover; /* Asegura que la imagen se ajuste correctamente */ } .leaflet-control-custom { background: white; padding: 1px; border-radius: 4px; box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65); } .leaflet-control-locate a { background-color: white; /* Color oscuro del botón */ color: black; /* Color del ícono */ } .leaflet-control-zoom a { width: 31px !important; /* Cambiar el ancho */ height: 27px !important; /* Reducir la altura (predeterminado es 26px) */ line-height: 30px !important; /* Centrar verticalmente el contenido */ text-align: center; /* Centrar horizontalmente el contenido */ } .easy-button-button { font-size: 1.2em; /* Ajusta el tamaño del icono */ padding: 4px 8px; /* Reduce el padding vertical (top y bottom) */ line-height: 1; /* Controla la altura del botón */ height: auto; /* Permite ajustar el alto automáticamente */ border: none; /* Elimina cualquier borde */ box-shadow: none; /* Elimina el sombreado del contorno */ background-color: white; /* Agrega fondo blanco */ } .polygon-popup { position: absolute; top: 80px; /* Ajusta según sea necesario */ left: 50%; transform: translateX(-50%); background: white; border: 2px solid #ccc; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); z-index: 1000; max-width: 400px; overflow: hidden; cursor: default; padding: 5px; /* Agrega espacio interno */ box-sizing: border-box; /* Asegura que el padding no altere el tamaño del contenedor */ } .polygon-popup-header { cursor: move; /* Hace que el encabezado sea arrastrable */ background-color: #b9ff9c; padding: 8px; font-weight: bold; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ccc; } .polygon-popup-content { padding: 15px; /* Espaciado interno para el contenido de la ventana emergente */ max-height: 300px; /* Limita la altura máxima para activar el desplazamiento */ overflow-y: auto; /* Habilita el desplazamiento vertical */ } #polygon-info { width: 100%; border-collapse: collapse; } #polygon-info th, #polygon-info td { padding: 8px; text-align: left; } #polygon-info tbody tr { border-bottom: 1px solid #ddd; /* Línea divisoria debajo de cada fila */ } #polygon-info tbody tr:last-child { border-bottom: none; /* Elimina la línea divisoria para la última fila */ } .polygon-popup-header button { background: transparent; border: none; font-size: 18px; cursor: pointer; } .image-gallery { display: flex; align-items: center; justify-content: center; margin-top: 10px; } .image-gallery button { background: none; border: none; color: #828282; /* Color gris */ font-size: 13px; /* Tamaño más pequeño */ cursor: pointer; padding: 1px; } .polygon-img { max-width: 100%; height: auto; border: 1px solid #ccc; display: block; } .image-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(200, 200, 200, 0.8); /* Fondo gris claro */ color: #666; /* Color gris */ font-size: 18px; /* Tamaño más pequeño */ border: none; padding: 5px 10px; cursor: pointer; border-radius: 5px; } .image-nav:hover { background: rgba(150, 150, 150, 0.9); /* Un poco más oscuro al pasar el mouse */ } #prev-image { left: 5px; } #next-image { right: 5px; } .hidden { display: none; } #csvFile { display: none; } #floatingDashboard { position: fixed; bottom: -100%; /* Oculto inicialmente */ left: 50%; transform: translateX(-50%); width: 90%; max-width: 600px; /* Más compacto */ background: white; box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.2); border-radius: 10px 10px 0 0; padding: 10px; transition: bottom 0.3s ease-in-out; z-index: 10000; /* Asegura que esté por encima del mapa */ height: auto; /* Se ajusta al contenido */ max-height: 80vh; /* Evita que se salga de la pantalla */ overflow-y: auto; /* Si el contenido es muy grande, permite desplazarse */ } #dashboardHeader { display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to right, #b9ff9c, #b9ff9c); /* Degradado verde */ box-shadow: 0 0 8px rgba(0,0,0,0.3); padding: 10px 15px; border-radius: 10px 10px 0 0; font-weight: bold; font-size: 14px; } /* Botón de cerrar (X) */ #closeDashboard { background: transparent; border: none; color: gray; font-size: 18px; cursor: pointer; } #closeDashboard:hover { color: #ccc; /* Efecto al pasar el mouse */ } /* Contenedor del gráfico de torta */ .pie-container { display: flex; flex-direction: column; align-items: center; /* Centra el contenido */ justify-content: center; width: 100%; margin-bottom: 15px; /* Separa bien del resto */ } /* Centrar el gráfico de torta */ #pieChart { max-width: 50%; /* Tamaño ajustado */ height: auto; display: block; margin: 0 auto; /* Centra horizontalmente */ } /* Leyenda del gráfico de torta */ #pieLegend { display: flex; flex-wrap: wrap; justify-content: center; /* Centra las etiquetas */ align-items: center; text-align: center; font-size: 12px; width: 90%; /* Mejor ajuste dentro del contenedor */ margin-top: 8px; /* Espacio entre la leyenda y el gráfico */ margin-bottom: 10px; /* Evita que quede pegada al gráfico de línea */ } /* Contenedor de los gráficos de barra y línea */ .chart-row { display: flex; justify-content: space-between; /* Distribuye mejor el espacio */ align-items: center; width: 100%; padding: 5px; } /* Ajuste de tamaño de gráficos de barras y líneas */ .chart-item canvas { max-width: 48%; /* Más prioridad al ancho */ height: auto; } .consulta-form { position: fixed; top: 80px; left: 20px; width: 300px; background: white; border: 2px solid #aaa; padding: 0; z-index: 10000; box-shadow: 0 0 8px rgba(0,0,0,0.3); border-radius: 8px; font-family: sans-serif; overflow: hidden; } .consulta-header { display: flex; justify-content: space-between; align-items: center; background-color: #b9ff9c; /* ✅ Verde claro */ color: #2e4d2e; /* ✅ Gris verdoso oscuro */ padding: 10px 15px; font-weight: bold; border-bottom: 1px solid #a1cfa0; } .consulta-header button { background: transparent; border: none; font-size: 16px; cursor: pointer; color: #2e4d2e; } .consulta-body { padding: 15px; } .consulta-body label { display: block; margin-top: 10px; font-size: 14px; } .consulta-body select, .consulta-body button { width: 100%; padding: 5px; margin-top: 5px; font-size: 14px; } .consulta-body button { background-color: #e2fcd7; /* ✅ Mismo verde claro */ border: 1px solid #93c692; color: #2e4d2e; font-weight: bold; cursor: pointer; border-radius: 4px; transition: background-color 0.2s ease; } .consulta-body button:hover { background-color: #cefcbb; /* ✅ Un poco más oscuro al pasar el mouse */ } @media screen and (max-width: 600px) { .consulta-form { top: 60px; left: 50%; transform: translateX(-50%); width: 90%; max-width: 95%; } .consulta-header { flex-direction: column; align-items: flex-start; gap: 5px; } .consulta-header button { align-self: flex-end; } .consulta-body { padding: 10px; } .consulta-body label { font-size: 13px; } .consulta-body select, .consulta-body button { font-size: 13px; padding: 6px; } } /* Estilos responsivos para el botón de términos */ @media (max-width: 768px) { #terminos-btn { bottom: 5px; right: 5px; font-size: 11px; padding: 3px 6px; } #terminos-btn a i { display: none; /* Ocultamos el ícono en pantallas muy chicas si querés más limpieza */ } } @media (max-width: 768px) { .modal-dialog { width: 90% !important; margin: 10px auto; } .modal-body { font-size: 13px; } }