:root{
  --primary-color:#0d6efd;--light-gray:#f8f9fa;--medium-gray:#dee2e6;--dark-gray:#495057;--text-color:#212529;--white:#fff;--shadow:0 4px 20px rgba(0,0,0,.08)
}
#oa-mapa-app, #oa-mapa-app *{box-sizing:border-box}
#oa-mapa-app .main-container{display:flex;min-height:70vh;background:var(--light-gray)}
#oa-mapa-app .sidebar{width:340px;background:var(--white);padding:24px;box-shadow:var(--shadow);z-index:1;display:flex;flex-direction:column;border-right:1px solid var(--medium-gray)}
#oa-mapa-app .sidebar h2{display:flex;align-items:center;gap:12px;margin-top:0;color:var(--text-color);border-bottom:2px solid var(--primary-color);padding-bottom:12px;font-size:1.35rem}
#oa-mapa-app .info-section,#oa-mapa-app .sensors-section,#oa-mapa-app .functions-section{margin-bottom:24px}
#oa-mapa-app .info-section p,#oa-mapa-app .sensors-section p{margin:8px 0;color:var(--dark-gray);line-height:1.6}
#oa-mapa-app .sensors-section p {
  margin: 6px 0;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 6px;
}
#oa-mapa-app .sensors-section h3,#oa-mapa-app .functions-section h3{margin-bottom:16px;color:var(--text-color);font-size:1.05rem;font-weight:700}
#oa-mapa-app .function-link{display:block;padding:12px 15px;margin-top:10px;background:var(--light-gray);color:var(--primary-color);text-align:center;text-decoration:none;border-radius:8px;font-weight:500;border:1px solid var(--medium-gray);transition:all .3s}
#oa-mapa-app .function-link:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,123,255,.3)}
#oa-mapa-app .map-container{flex-grow:1;position:relative;min-height:70vh}
#map{height:100%;width:100%;background:#e9e9e9}
#oa-mapa-app .top-right-widgets{position:absolute;top:15px;right:15px;z-index:400;width:280px}
#oa-mapa-app .widget{background:rgba(255,255,255,.9);padding:16px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:15px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
#oa-mapa-app .widget h3,#oa-mapa-app .widget h4{margin-top:0;color:var(--text-color);font-weight:700}
#glossary-list{list-style:none;padding:0;margin:0;max-height:180px;overflow-y:auto}
#glossary-list li{padding:10px 12px;cursor:pointer;border-radius:6px;transition:background-color .2s;font-weight:500;position:relative}
#glossary-list li:hover{background:#e9ecef}
.placeholder{color:#888;font-style:italic;font-weight:400}
.selected-marker{stroke-width:4!important;stroke:var(--white)!important;stroke-dasharray:6,4!important;animation:dash-animate 1s linear infinite}




/* Contenedor del resumen mensual */
#mensualTitulo {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 6px;
  color: #333;
}

#sensor-summary {
  font-size: 0.80rem;
  line-height: 1.4;
}

/* Cada sensor en una línea clara */
#sensor-summary p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0;
  padding: 4px 6px;
  border-radius: 6px;
  background: #f8f9fa; /* gris muy claro */
}

/* El emoji */
#sensor-summary p::first-letter {
  font-size: 1.2rem;
}

/* El nombre del sensor */
#sensor-summary strong {
  color: #1E4174; /* azul elegante */
  font-weight: 600;
}

/* Texto pequeño de mediciones */
#sensor-summary small {
  color: #666;
  font-size: 0.8rem;
}


/**LOGO********************/
.glosario-logo {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 6px;
}


/* Estilo del popup semanal **********************************/
.popup-semanal {
  font-size: 0.9rem;
  line-height: 1.4;
  color: #333;
  min-width: 220px;
}

/* Encabezado pequeño con el rango de fechas */
.popup-semanal small {
  display: block;
  color: #666;
  font-size: 0.8rem;
  margin-bottom: 4px;
}

/* Cada sensor en el popup */
.popup-semanal div {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 3px 0;
}

/* Nombre del sensor */
.popup-semanal strong {
  color: #1E4174;  /* azul elegante */
  font-weight: 600;
}

/* Texto de mediciones */
.popup-semanal small {
  margin-left: auto;
  font-size: 0.75rem;
  color: #888;
}


@keyframes dash-animate{to{stroke-dashoffset:-20}}
@media(max-width:800px){
  #oa-mapa-app .main-container{flex-direction:column}
  #oa-mapa-app .sidebar{width:100%;height:auto;max-height:45vh;overflow-y:auto}
  #oa-mapa-app .map-container{height:55vh}
  #oa-mapa-app .top-right-widgets{width:220px}
}


.custom-marker .marker-pin {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transform: translate(-50%, -100%);
  border: 3px solid white;
  box-shadow: 0 0 4px rgba(0,0,0,.4);
}
.custom-marker.selected .marker-pin {
  border: 3px solid black;
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(0,0,0,.5); }
  70%  { box-shadow: 0 0 0 10px rgba(0,0,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }
}
