
    /* Settlement population legend */
    .settlement-pop-legend {
      position: absolute;
      left: 82px;
      bottom: 86px;
      width: 170px;
      max-width: calc(100vw - 104px);
      max-height: 34vh;
      overflow: auto;
      background: rgba(255,255,255,0.94);
      color: #023047;
      border: 1px solid rgba(3,58,99,0.18);
      border-radius: 9px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.20);
      padding: 7px 8px;
      font: 10.7px/1.25 Arial, sans-serif;
      z-index: 1100;
      box-sizing: border-box;
    }
    .settlement-pop-legend h4 {
      margin: 0 0 4px;
      color: #023047;
      font-size: 11.6px;
      font-weight: 700;
    }
    .settlement-pop-legend .pop-subtitle {
      font-size: 10.2px;
      color: #4b5563;
      margin-bottom: 4px;
    }
    .settlement-pop-legend .pop-row {
      display: flex;
      align-items: center;
      gap: 6px;
      margin: 3px 0;
      min-height: 17px;
    }
    .settlement-pop-legend .pop-symbol {
      width: 22px;
      height: 17px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 22px;
    }
    .settlement-pop-legend .pop-circle {
      display: inline-block;
      border-radius: 50%;
      background: #1b7f79;
      border: 1.5px solid #ffffff;
      box-shadow: 0 0 0 1px rgba(0,0,0,0.35);
    }
    .settlement-pop-legend .pop-label {
      flex: 1;
      min-width: 0;
    }
    .settlement-pop-legend .pop-type-row {
      display: flex;
      gap: 8px;
      align-items: center;
      margin-top: 5px;
      padding-top: 5px;
      border-top: 1px solid rgba(3,58,99,0.12);
      flex-wrap: wrap;
    }
    .settlement-pop-legend .pop-type {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      white-space: nowrap;
    }
    .settlement-pop-legend .pop-type-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      display: inline-block;
      border: 1.5px solid #ffffff;
      box-shadow: 0 0 0 1px rgba(0,0,0,0.35);
    }
    .settlement-pop-legend .pop-note {
      margin-top: 4px;
      font-size: 9.6px;
      color: #5f6b7a;
    }
    .fullscreen-active .settlement-pop-legend {
      bottom: 72px;
    }
    @media (max-width: 780px) {
      .settlement-pop-legend {
        left: 70px;
        bottom: 74px;
        width: min(156px, calc(100vw - 86px));
        font-size: 10px;
      }
    }
  